Systems and methods for providing information about building resources

ABSTRACT

In accordance with some embodiments, a method for providing or receiving information about building resources is disclosed. In accordance with some embodiments, a method for sharing a location in a building is provided. In accordance with some embodiments, a method for reserving a space is disclosed. In accordance with some embodiments, a method for sharing information about an issue is disclosed. In accordance with some embodiments, a method for providing information to a building visitor is disclosed.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims priority to and the benefit of U.S. Provisional Application 62/736,872 titled “Systems and Methods for Providing Information about Building Resources,” filed on Sep. 26, 2018, the disclosure of which is incorporated herein by reference in its entirety. This application also claims priority to and the benefit of U.S. Provisional Application 62/754,442 titled “Systems and Methods for Managing Information about Building Resources,” filed on Nov. 1, 2018, the disclosure of which is incorporated herein by reference in its entirety.

BACKGROUND

Buildings often have many resources. For example, spaces could be considered a resource. An office building, for example, might have a variety of spaces, such as offices, conference rooms, common spaces, restrooms, pantries, and other types of spaces. In a large building, these spaces might be spread across a large floor, or across multiple floors. To find a particular space, an employee might wander around the building looking at room numbers, or might look at a map of the building to identify where the particular space might be located. An employee might also walk to a particular space, only to find that the employee cannot use the space because it is already occupied. Once arriving at a particular space, a person might have to spend time configuring the space to an employee's liking.

A tool in a building might also be considered a resource. An office building, for example, might have a variety of tools, such as printers, projectors, computers, telephones, conference phones, fax machines, or other type of equipment used in the workplace. In a large building, these tools might be dispersed in particular locations across a large floor, or across multiple floors. To find a particular tool, an employee might ask another employee or support person, or wander around the building looking for the particular tool.

An amenity in a building might also be considered a resource. An office building, for example, might have a variety of amenities, such as coffee makers, microwaves, refrigerators, and vending machines. In a large building, these amenities might be spread across a large floor, or across multiple floors. To find a particular amenity, an employee might ask another employee or support person, or wander around the building looking for the particular amenity.

A person in a building might also be considered a resource. An office building, for example, might have a number of employees. In a large building, it might be difficult to determine where an employee is at any one time, and might be difficult to coordinate a meeting with a particular person. To find a particular person, an employee might ask another employee or support person, or wander around the building looking for the particular person.

An issue might sometimes arise with a building resource. For example, a tool or amenity might break, or a particular space might be dirty. An employee might report such an issue to a support person in order to get the issue resolved. Alternatively, a support person might periodically check for issues, and the issue might not get resolved until it is noticed by the support person.

For some buildings, such as office buildings, there are times when a person that is not an employee of a tenant in the building might need to visit the building, but may not have access to the building. In these situations, the person visiting the building might have to check in with security staff, or might need to wait in a lobby for an employee to let the person into the building.

SUMMARY

Embodiments of the present disclosure relate to systems and methods for providing information about building resources. In addition, embodiments of the present disclosure relate to solutions for providing information about building resources, such that the building resources might be more utilized more efficiently.

In accordance with some embodiments of the present disclosure, there is provided a computer-implemented method for providing information about building spaces. The method comprises receiving, by a computing system comprising one or more processors, an indication of whether a space is occupied from a sensor within the space, and determining, by the computing system, a location of a client device based on a signal received from the client device indicating a proximity of the client device to one or more wireless beacons. The method also comprises receiving, by the computing system, a request from the client device for directions between the client device and the space, and determining, by the computing system, a route between the client device and the space. The method further comprises providing, by the computing system, information for displaying at least a portion of the route on a map of at least a portion of a floor of a facility housing the space, such that the at least a portion of the route is displayed on the map on a screen of the client device.

In accordance with aspects of the disclosure, the information for displaying the at least a portion of the route includes information that causes the client device to display the at least a portion of the route as a line between the location of the client device and the space.

In accordance with further aspects of the disclosure, the location of the client device is a first location, and the signal is a first signal, and the method further comprises determining, by the computing system, a second location of the client device based on a second signal received from the client device indicating a proximity of the client device to one or more additional wireless beacons. The method still further comprises providing, by the computing system, information for displaying an updated position of the client device and an updated route based on the second location.

In accordance with still further aspects of the disclosure, the method further comprises providing, by the computing system, information that causes the screen of the client device to display instructions to turn right or turn left after moving a certain distance.

In accordance with aspects of the disclosure, the method further comprises receiving, by the computing system, indications of whether a plurality of spaces are occupied from sensor located within the spaces. The method still further comprises providing, by the computing system, information for displaying representations of the spaces on the map on the screen of the client device, and for displaying the representations of each of the spaces in a color based on the occupancy of the space.

In accordance with further aspects of the disclosure, the method further comprises receiving, by the computing system, a request to filter the spaces based on a type of activity, and identifying, by the computing system, one or more of the spaces as suitable for the type of activity. The method still further comprises providing, by the computing system, information for displaying the colors for only the one or more spaces identified as suitable for the type of activity.

In accordance with still further aspects of the disclosure, the method further comprises receiving, by the computing system, a request to filter the spaces based on a tool, and identifying, by the computing system, one or more of the spaces as having the tool. The method still further comprises providing, by the computing system, information for displaying the colors for only the one or more spaces identified as having the tool.

In accordance with aspects of the disclosure, the method further comprises identifying, by the computing system, a user associated with the client device, and identifying, by the computing system, one or more preferences associated with the user. The method still further comprises providing, by the computing system, information for configuring the space according to the one or more preferences.

In accordance with further aspects of the disclosure, the one or more preferences includes a preference associated with an environmental aspect, the environmental aspect being one of a temperature, humidity level, or brightness, and the information for configuring the space including an instruction to a sensor for controlling the environmental aspect of the space.

In accordance with still further aspects of the disclosure, the one or more preferences includes a preference associated with a tool, the tool being one of a phone, audiovisual equipment, projector, or computing device, and the information for configuring the space including an instruction to a device associated with an employee or vendor for configuring the space to include the tool.

In accordance with aspects of the disclosure, the one or more preferences includes a preference associated with a catering aspect, and the information for configuring the space includes an instruction to a device associated with an employee or vendor to deliver food or beverage to the space in accordance with the catering aspect.

In accordance with further aspects of the disclosure, the one or more preferences are updated over time using a machine learning algorithm based on selections made by the user.

Furthermore, in accordance with some embodiments, there is provided a system for providing information about building spaces. The system comprises one or more memory devices storing instructions, and one or more processors that execute the instructions. The one or more processors, when executing the instructions, are configured to receive an indication of whether a space is occupied from a sensor within the space, and determine a location of a client device based on a signal received from the client device indicating a proximity of the client device to one or more wireless beacons. The one or more processors, when executing the instructions, are further configured to receive a request from the client device for directions between the client device and the space, and determine a route between the client device and the space. The one or more processors, when executing the instructions, are still further configured to provide information for displaying at least a portion of the route on a map of at least a portion of a floor of a facility housing the space, such that the at least a portion of the route is displayed on the map on a screen of the client device.

In accordance with aspects of the disclosure, the information for displaying the at least a portion of the route includes information that causes the client device to display the at least a portion of the route as a line between the location of the client device and the space.

In accordance with further aspects of the disclosure, the location of the client device is a first location, and the signal is a first signal, and the one or more processors are further configured to determine a second location of the client device indicating a proximity of the client device to one or more additional wireless beacons. The one or more processors are still further configured to provide information for displaying the updated position of the client device and an updated route based on the second location.

In accordance with still further aspects of the disclosure, the one or more processors are further configured to provide information that causes the screen of the client device to display instructions to turn right or turn left after moving a certain distance.

In accordance with aspects of the disclosure, the one or more processors are further configured to receive indications of whether a plurality of spaces are occupied from sensors located within the spaces. The one or more processors are still further configured to provide information for displaying representations of the spaces on the map on the screen of the client device, and for displaying the representations of each of the spaces in a color based on the occupancy of the space.

In accordance with further aspects of the disclosure, the one or more processors are further configured to identify a user associated with the client device, identify one or more preferences associated with the user, and provide information for configuring the space according to the one or more preferences.

In accordance with still further aspects of the disclosure, the one or more preferences includes a preference associated with an environmental aspect, the environmental aspect being one of a temperature, humidity level, or brightness, and the information for configuring the space including an instruction to a sensor for controlling the environmental aspect of the space.

Further still, in accordance with some embodiments of the present disclosure, there is provided a computer-implemented method for receiving information about building spaces. The method comprises receiving, by a processor in a device, information about one or more wireless beacons located in proximity to the device, and providing, by the processor, the information to a computing system. The method further comprises providing, by the processor, a request for directions to a space, and receiving, by the processor, information for displaying at least a portion of a route between a location of the device and a location of the space on a map of at least a portion of a floor of a facility housing the space. The method still further comprises causing, by the processor, the at least a portion of the route to be displayed on the map on a screen of the device.

In accordance with some embodiments of the present disclosure, there is provided a computer-implemented method for providing information about building spaces. The method comprises receiving, by a computing system comprising one or more processors, an indication of whether a space is occupied from a motion sensor located in proximity to the space, and determining, by the computing system, a location of a client device based on a proximity of one or more beacons to the client device. The method also comprises determining, by the computing system, a route between the client device and the space. The method further comprises providing, by the computing system, information for displaying at least a portion of the route on a map of at least a portion of a floor of a facility housing the space, such that the at least a portion of the route is displayed as an overlay on the map on a screen of the client device.

In accordance with aspects of the disclosure, the method further comprises receiving, by the computing system, a request from the client device to navigate to the space.

In accordance with further aspects of the disclosure, the method further comprises providing, by the computing system, an indication that the space is unoccupied for display on the client device.

In accordance with still further aspects of the disclosure, the location of the client device is a first location of the client device. The method further comprises determining, by the computing system, a second location of the client device at a time later than a time at which the first location was determined. The method still further comprises providing, by the computing system, information for displaying an updated position of the client device on the screen of the client device.

In accordance with still further aspects of the disclosure, the information for displaying the at least a portion of the route includes information that causes the client device to display the at least a portion of the route as a line between the location of the client device and the space.

In accordance with aspects of the disclosure, the method further comprises providing, by the computing system, information for displaying the map of the at least a portion of the floor of the facility, including information for displaying one or more room names or points of interest on the map of the at least a portion of the floor of the facility.

In accordance with further aspects of the disclosure, the method further comprises providing, by the computing system, information for displaying the map of the at least a portion of the floor of the facility, including information for displaying overlays on spaces of the floor indicating whether each of the spaces is available or unavailable.

In accordance with still further aspects of the disclosure, the method further comprises receiving, by the computing system, an indication of a user request to filter information regarding spaces that are available or unavailable. The method further comprises providing, by the computing system, updated information for displaying overlays on spaces of the floor indicating whether each of the spaces is available or unavailable based on the user request.

In accordance with aspects of the disclosure, the user request is a request to filter the information such that only available spaces meeting certain criteria are displayed, wherein the criteria includes at least one of a time frame during which the user wants to use a space, whether a space is reservable, a type of work the user intends to perform, a tool the user requires, or an amenity of a space.

In accordance with further aspects of the disclosure, the method further comprises receiving, by the computing system, an indication that a user of the client device has requested an unoccupied space for performing a particular task, and determining, by the computing system, that the space is the closest space to the user that is unoccupied and that is suitable for the particular task. The method still further comprises determining, by the computing system in response to determining that the space is the closest space to the user that is unoccupied and that is suitable for the particular task, the route between the client device and the space.

In accordance with still further aspects of the disclosure, the particular task is one of making a call, meeting with a small group, meeting with a large group, or working in a quiet space.

Furthermore, in accordance with some embodiments, there is provided a system for providing information about building spaces. The system comprises one or more memory devices storing instructions, and one or more processors that, when executing the instructions, are configured to receive an indication of whether a space is occupied from a motion sensor located in proximity to the space. The one or more processors are further configured to determine a location of a client device based on a proximity of one or more beacons to the client device and determine a route between the client device and the space. The one or more processors are still further configured to provide information for displaying at least a portion of the route on a map of at least a portion of a floor of a facility housing the space, such that the at least a portion of the route is displayed as an overlay on the map on a screen of the client device.

In accordance with aspects of the disclosure, the one or more processors are further configured to receive a request from the client device to navigate to the space.

In accordance with further aspects of the disclosure, the one or more processors are further configured to provide an indication that the space is unoccupied for display on the client device.

In accordance with still further aspects of the disclosure, the location of the client device is a first location of the client device. The one or more processors are further configured to determine a second location of the client device at a time later than a time at which the first location was determined and provide information for displaying an updated position of the client device on the screen of the client device.

In accordance with aspects of the disclosure, the information for displaying the at least a portion of the route includes information that causes the client device to display the at least a portion of the route as a line between the location of the client device and the space.

In accordance with further aspects of the disclosure, the one or more processors are further configured to provide information for displaying the map of the at least a portion of the floor of the facility, including information for displaying one or more room names or points of interest on the map of the at least a portion of the floor of the facility.

In accordance with still further aspects of the disclosure, wherein the one or more processors are further configured to provide information for displaying the map of the at least a portion of the floor of the facility, including information for displaying overlays on spaces of the at least a portion of the floor indicating whether each of the spaces is available or unavailable.

In accordance with aspects of the disclosure, the one or more processors are further configured to receive an indication of a user request to filter information regarding spaces that are available or unavailable and provide updated information for displaying overlays on spaces of the floor indicating whether each of the spaces is available or unavailable based on the user request.

In accordance with further aspects of the disclosure, the user request is a request to filter the information such that only available spaces meeting certain criteria are displayed, wherein the criteria includes at least one of a time frame during which the user wants to use a space, whether the space is reservable, a type of work the user intends to perform, a tool the user requires, or an amenity of a space.

In accordance with still further aspects of the disclosure, the one or more processors are further configured to receive an indication that a user of the client device has requested an unoccupied space for performing a particular task and determine that the space is the closest space to the user that is unoccupied and that is suitable for the particular task. The one or more processors are still further configured to determine, in response to determining that the space is the closest space to the user that is unoccupied and that is suitable for the particular task, the route between the client device and the space.

In accordance with aspects of the disclosure, the particular task is one or making a call, meeting with a small group, meeting with a large group, or working in a quiet space.

Further still, in accordance with some embodiments, there is provided a non-transitory computer-readable medium storing instructions that, when executed by one or more processors, cause the one or more processors to perform a method. The method comprises receiving an indication of whether a space is occupied from a motion sensor located in proximity to the space, and determining a location of a client device based on a proximity of one or more beacons to the client device. The method further comprises determining a route between the client device and the space, and providing information for displaying at least a portion of the route on a map of at least a portion of a floor of a facility housing the space, such that the at least a portion of the route is displayed as an overlay on the map on a screen of the client device.

In accordance with aspects of the disclosure, the method further comprises receiving a request from the client device to navigate to the space.

In accordance with further aspects of the disclosure, the method further comprises providing an indication that the space is unoccupied for display on the client device.

In accordance with still further aspects of the disclosure, the location of the client device is a first location of the client device. The method further comprises determining a second location of the client device at a time later than a time at which the first location was determined, and providing information for displaying an updated position of the client device on the screen of the client device.

In accordance with aspects of the disclosure, the information causes the client device to display the at least a portion of the route as a line between the location of the client device and the space.

In accordance with further aspects of the disclosure, the method further comprises providing information for displaying the map of the at least a portion of the floor of the facility, including information for displaying one or more room names or points of interest on the map of the at least a portion of the floor of the facility.

In accordance with still further aspects of the disclosure, the method further comprises providing information for displaying the map of the at least a portion of the floor of the facility, including information for displaying overlays on spaces of the floor indicating whether each of the spaces is available or unavailable.

In accordance with aspects of the disclosure, the method further comprises receiving an indication of a user request to filter information regarding spaces that are available or unavailable, and providing updated information for displaying overlays on spaces of the at least a portion of the floor indicating whether each of the spaces is available or unavailable based on the user request.

In accordance with further aspects of the disclosure, the user request is a request to filter the information such that only available spaces meeting certain criteria are displayed, wherein the criteria includes at least one of a time frame during which the user wants to use a space, whether a space is reservable, a type of work the user intends to perform, a tool the user requires, or an amenity of a space.

In accordance with still further aspects of the disclosure, the method further comprises receiving an indication that a user has requested an unoccupied space for performing a particular task, and determining that the space is the closest space to the user that is unoccupied and that is suitable for the particular task. The method still further comprises determining, in response to determining that the space is the closest space to the user that is unoccupied and that is suitable for the particular task, the route between the client device and the space.

In accordance with aspects of the disclosure, the particular task is one of making a call, meeting with a small group, meeting with a large group, or working in a quiet space.

In accordance with some embodiments, there is provided a computer-implemented method for receiving information about building spaces, the method comprising receiving, by a processor in a device, information about one or more beacons located in proximity to the device, and providing, by the processor, the information to a computing system. The method further comprises providing, by the processor, a request to navigate to a space, and receiving, by the processor, information for displaying at least a portion of a route between a location of the device and a location of the space on a map of at least a portion of a floor of a facility housing the space. The method still further comprises causing, by the processor, the at least a portion of the route to be displayed as an overlay on the map on a screen of the device.

In accordance with aspects of the disclosure, the method further comprises receiving, by the processor, an indication that a space is unoccupied.

In accordance with further aspects of the disclosure, the method further comprises causing, by the processor, information to be displayed on the screen of the device indicating that the space is unoccupied.

In accordance with still further aspects of the disclosure, the information about the one or more beacons is first information about the one or more beacons and the location of the device is a first location. The method further comprises receiving, by the processor, second information about one or more beacons located in proximity to the device at a time later than a time at which the first information was received, and providing, by the processor, the second information to the computing system. The method still further comprises receiving, by the processor, information regarding a second location of the device, and causing, by the processor, an updated position of the client device to be displayed on the screen of the device based on the information regarding the second location of the device.

In accordance with aspects of the disclosure, the at least a portion of the route is displayed as a line between the location of the device and the space.

In accordance with further aspects of the disclosure, the method further comprises causing, by the processor, a map of the at least a portion of the floor of the facility to be displayed with one or more room names or points of interest.

In accordance with still further aspects of the disclosure, the method further comprises causing, by the processor, the map of the at least a portion of the floor of the facility to be displayed with overlays on spaces of the floor indicating whether each of the spaces is available or unavailable.

In accordance with aspects of the disclosure, the method further comprises receiving, by the processor, a user request to filter information regarding spaces that are available or unavailable, and providing, by the processor, an indication of the user request to the computing system. The method still further comprises receiving, by the processor, updated information for displaying overlays on spaces of the at least a portion of the floor indicating whether each of the spaces is available or unavailable based on the user request. The method also comprises causing, by the processor, the map of the at least a portion of the floor of the facility to be displayed with overlays on spaces of the at least a portion of the floor based on the received updated information.

In accordance with further aspects of the disclosure, the method further comprises sending, by the processor, a request for an unoccupied space for performing a particular task to the computing system in response to a user selection on the device. The method still further comprises receiving by the processor, an indication that the space is the closest space to the user that is unoccupied and that is suitable for a particular task and the information for displaying the at least a portion of the route between the location of the device and the location of the space on the map of the at least a portion of the floor of the facility housing the space.

In accordance with still further aspects of the disclosure, the task is one of making a call, meeting with a small group, meeting with a large group, or working in a quiet space.

Furthermore, in accordance with some embodiments, there is provided a device for receiving information about building spaces, the device comprising one or more memory devices storing instructions, and a processor that, when executing the instructions, is configured to receive information about one or more beacons located in proximity to the device, and provide the information to a computing system. The processor is further configured to provide a request to navigate to a space, and receive information for displaying at least a portion of a route between a location of the device and a location of the space on a map of at least a portion of a floor of a facility housing the space. The processor is still further configured to cause the at least a portion of the route to be displayed as an overlay on the map on a screen of the device.

In accordance with aspects of the disclosure, the processor is further configured to receive an indication that a space is unoccupied.

In accordance with further aspects of the disclosure, the processor is further configured to cause information to be displayed on the screen of the device indicating that the space is unoccupied.

In accordance with still further aspects of the disclosure, the information about the one or more beacons is first information about the one or more beacons and the location of the device is a first location. The processor is further configured to receive second information about one or more beacons located in proximity to the device at a time later than a time at which the first information was received, and provide the second information to the computing system. The processor is still further configured to receive information regarding a second location of the client device, and cause an updated position of the device to be displayed on the screen of the device based on the information regarding the second location.

In accordance with aspects of the disclosure, the at least a portion of the route is displayed as a line between the location of the device and the space.

In accordance with further aspects of the disclosure, the processor is further configured to cause a map of the at least a portion of the floor of the facility to be displayed with one or more room names or points of interest.

In accordance with still further aspects of the disclosure, the processor is further configured to cause the map of the at least a portion of the floor of the facility to be displayed with overlays on spaces of the floor indicating whether each of the spaces is available or unavailable.

In accordance with aspects of the disclosure, the processor is further configured to receive a user request to filter information regarding spaces that are available or unavailable, and provide an indication of the user request to the computing system. The processor is still further configured to receive updated information for displaying overlays on spaces of the at least a portion of the floor indicating whether each of the spaces is available or unavailable based on the user request. The processor is also configured to cause the map of the at least a portion of the floor of the facility to be displayed with overlays on spaces of the at least a portion of the floor based on the received updated information.

In accordance with further aspects of the disclosure, the processor is further configured to send a request for an unoccupied space for performing a particular task to the computing system in response to a user selection on the device. The processor is still further configured to receive an indication that the space is the closest space to the user that is unoccupied and that is suitable for the particular task and the information for displaying the at least a portion of the route between the location of the device and the location of the space on the map of the at least a portion of the floor of the facility housing the space.

In accordance with still further aspects of the disclosure, the task is one of making a call, meeting with a small group, meeting with a large group, or working in a quiet space.

Further still, in accordance with some embodiments, there is provided a non-transitory computer readable medium storing instructions that, when executed by a processor, cause the processor to perform a method. The method comprises receiving information about one or more beacons located in proximity to a device, and providing the information to a computing system. The method further comprises receiving information for displaying at least a portion of a route between a location of the device and a location of the space on a map of at least a portion of a floor of a facility housing the space, and causing the at least a portion of the route to be displayed as an overlay on the map on a screen of the device.

In accordance with aspects of the disclosure, the method further comprises receiving an indication that a space is unoccupied.

In accordance with further aspects of the disclosure, the method further comprises causing information to be displayed on the screen of the device indicating that the space is unoccupied.

In accordance with still further aspects of the disclosure, the information about the one or more beacons is first information about the one or more beacons and the location of the device is a first location. The method further comprises receiving second information about one or more beacons located in proximity to the device at a time later than a time at which the first information was received, and providing the second information to the computing system. The method still further comprises receiving information regarding a second location of the device, and causing an updated position of the device to be displayed on the screen of the device based on the information regarding the second location of the device.

In accordance with aspects of the disclosure, the at least a portion of the route is displayed as a line between the location of the device and the space.

In accordance with further aspects of the disclosure, the method further comprises causing the map of the at least a portion of the floor of the facility to be displayed with one or more room names or points of interest.

In accordance with still further aspects of the disclosure, the method further comprises causing the map of the at least a portion of the floor of the facility to be displayed with overlays on spaces of the floor indicating whether each of the spaces is available of unavailable.

In accordance with aspects of the disclosure, the method further comprises receiving a user request to filter information regarding spaces that are available or unavailable, and providing an indication of the user request to the computing system. The method still further comprises receiving updated information for displaying overlays on spaces of the at least a portion of the floor indicating whether each of the spaces is available or unavailable based on the user request, and causing the map of the at least a portion of the floor of the facility to be displayed with overlays on spaces of the at least a portion of the floor based on the received updated information.

In accordance with further aspects of the disclosure, the method further comprises sending a request for an unoccupied space for performing a particular task to the computing system in response to a user selection on the device, and receiving an indication that the space is the closest space to the user that is unoccupied and that is suitable for the particular task and the information for displaying the at least a portion of the route between the location of the device and the location of the space on the map of the at least a portion of the floor of the facility housing the space.

In accordance with still further aspects of the disclosure, the task is one of making a call, meeting with a small group, meeting with a large group, or working in a quiet space.

In accordance with some embodiments, there is provided a computer-implemented method for sharing a location in a building, comprising determining, by a computing system comprising one or more processors, a location of a client device based on a proximity of one or more beacons to the client device. The method also comprises receiving, by the computing system, information regarding a user request from the client device to share a location in a building, the user request specifying one or more persons with whom to share the location, a location to be shared, and a message. The method further comprises providing, by the computing system, a notification to one or more devices associated with the one or more persons, the notification identifying the user making the user request, the location, and the message.

In accordance with aspects of the disclosure, the location in the building is the location of the client device.

In accordance with further aspects of the disclosure, the user request includes a request to select a location on a map of at least a portion of the facility, and the method further comprises providing, by the computing system, information for display of the map of the at least a portion of the floor of the facility. The method still further comprises receiving, by the computing system, a selection of a location on the displayed map of the at least a portion of the floor of the facility by the user, and providing, by the computing system, the selected location as the location to be shared as part of the notification.

Furthermore, in accordance with some embodiments, there is provided a system for sharing a location in a building, comprising one or more memory devices storing instructions, and one or more processors that are configured to execute the instructions. The one or more processors, when executing the instructions, are configured to determine a location of a client device based on a proximity of one or more beacons to the client device. The one or more processors are further configured to receive information regarding a user request from the client device to share a location in a building, the user request specifying one or more persons with whom to share the location, a location to be shared, and a message. The one or more processors are still further configured to provide a notification to one or more devices associated with one or more persons, the notification identifying the user making the user request, the location, and the message.

In accordance with aspects of the disclosure, the location in the building is the location of the client device.

In accordance with further aspects of the disclosure, the user request includes a request to select a location on a map of at least a portion of a floor of a facility, and the one or more processors are further configured to provide information for display of the map of the at least a portion of the floor of the facility. The one or more processors are still further configured to receive a selection of a location on the displayed map of the at least a portion of the floor of the facility by the user, and provide the selected location as the location to be shared as part of the notification.

Still further, in accordance with some embodiments, there is provided a non-transitory computer readable medium storing instructions that, when executed by one or more processors, cause the one or more processors to perform a method, the method comprising determining a location of a client device based on a proximity of one or more beacons to the client device. The method further comprises receiving information regarding a user request from the client device to share a location in a building, the user request specifying one or more persons with whom to share the location, the location to be shared, and a message. The method still further comprises providing a notification to one or more devices associated with the one or more persons, the notification identifying the user making the user request, the location, and the message.

In accordance with aspects of the disclosure, the location in the building is the location of the client device.

In accordance with further aspects of the disclosure, the method further comprises providing information for display of the map of the at least a portion of the floor of the facility, and receiving a selection of a location on the displayed map of the at least a portion of the floor of the facility by the user. The method still further comprises providing the selected location as the location to be shared as part of the notification.

In accordance with some embodiments, there is provided a computer-implemented method for sharing a location in a building, comprising receiving, by a processor, a user request to share a location in a building, the user request including a selection of one or more persons with whom to share the location, a location to be shared, and a message. The method further comprises providing, by the processor, information regarding the user request to a computing system, the information identifying the one or more persons with whom to share the location, the location to be shared, and the message. The method still further comprises receiving, by the processor, information causing display of a confirmation indicating that a notification including the location and the message has been sent to the one or more persons.

In accordance with aspects of the disclosure, the location in the building is the location of a device that includes the processor.

In accordance with further aspects of the disclosure, the user request includes a request to select a location on a map of at least a portion of a floor of a facility, and the method further comprises receiving, by the processor, information causing display of a map of at least a portion of the floor of a facility from the computing system for display on the client device. The method still further comprises receiving, by the processor, a user selection of a location on the displayed map of the floor of the facility, and providing, by the processor, the location selected by the user as the location to be shared in the information regarding the user request that is provided to the computing system.

Furthermore, in accordance with some embodiments, there is provided a device for sharing a location in a building, comprising one or more memory devices storing instructions, and a processor that executes the instructions. The processor executes the instructions to receive a user request to share a location in a building, the user request including a selection of one or more persons with whom to share the location, the location to be shared, and a message. The processor further executes the instructions to provide information regarding the user request to a computing system, the information identifying the one or more persons with whom to share the location, the location to be shared, and the message. The processor still further executes the instructions to receive information causing display of a confirmation indicating that a notification including the location and the message has been sent to the one or more persons.

In accordance with aspects of the disclosure, the location in the building is the location of a device.

In accordance with further aspects of the disclosure, the processor is further configured to receive information causing display of a map of at least a portion of the floor of a facility from the computing system for display on the client device and to receive a user selection of a location on the displayed map of the floor of the facility. The processor is still further configured to provide the location selected by the user as the location to be shared in the information regarding the user request that is provided to the computing system.

Still further, in accordance with some embodiments, there is provided a non-transitory computer readable medium storing instructions that, when executed by a processor, cause the processor to perform a method. The method comprises receiving a user request to share a location in a building, the user request including a selection of one or more persons with whom to share the location, a location to be shared, and a message. The method further comprises providing information regarding the user request to a computing system, the information identifying the one or more persons with whom to share the location, the location to be shared, and the message. The method still further comprises receiving information causing display of a confirmation indicating that a notification including the location and the message has been sent to the one or more persons.

In accordance with aspects of the disclosure, the location in the building is the location of a device.

In accordance with further aspects of the disclosure, the method further comprises receiving information causing display of a map of at least a portion of the floor of a facility from the computing system for display on the client device, and receiving a user selection of a location on the displayed map of the floor of the facility. The method further comprises providing the location selected by the user as the location to be shared in the information regarding the user request that is provided to the computing system.

In accordance with some embodiments, there is provided a computer-implemented method for reserving a space, comprising receiving, by a computing system comprising one or more processors, information regarding a user request to reserve a space, the request including a date and time for reserving the space, a duration for reserving the space, a location of the space, and one or more persons to invite to the space. The method further comprises identifying, by the computing system, one or more preferences associated with the user making the user request or with the space, and sending, by the computing system, one or more messages in advance of the date and time to configure the space in accordance with the one or more preferences.

In accordance with aspects of the disclosure, the one or more messages are sent to one or more environmental control systems associated with the space to configure at least one of a temperature or lighting.

In accordance with further aspects of the disclosure, the one or more messages are sent to one or more devices associated with technical staff to configure technology within the space.

In accordance with still further aspects of the disclosure, the one or more messages are notifications to one or more persons identifying a catering provider and requesting that the one or more persons select a food or beverage to be delivered to the space.

In accordance with aspects of the disclosure, the method further comprises updating, by the computing system, a status of the space to indicate that it is reserved at the date and time. The method still further comprises receiving, by the computing system, an indication that the space is unoccupied from a motion sensor located in proximity to the space at a defined period of time after the date and time, and updating, by the computer system, the status of the space to indicate that it is no longer reserved.

Furthermore, in accordance with some embodiments, there is provided a system for reserving a space, comprising one or more memory devices storing instructions and one or more processors. The one or more processors, when executing the instructions, are configured to receive information regarding a user request to reserve a space, the request including a date and time for reserving the space, the duration for reserving the space, the location of the space, and one or more persons to invite to the space. The one or more processors are further configured to identify one or more preferences associated with the user making the user request or with the space, and send one or more messages in advance of the date and time to configure the space in accordance with the one or more preferences.

In accordance with aspects of the disclosure, the one or more messages are sent to one or more environmental control systems associated with the space to configure at least one of a temperature or lighting.

In accordance with further aspects of the disclosure, the one or more messages are sent to one or more devices associated with technical staff to configure technology within the space.

In accordance with still further aspects of the disclosure, the one or more messages are notifications to the one or more persons identifying a catering provider and requesting that the one or more persons select a food or beverage to be delivered to the space.

In accordance with aspects of the disclosure, the one or more processors are further configured to update a status of the space to indicate that it is reserved at the date and time, and receive an indication that the space is unoccupied from a motion sensor located in proximity to the space at a defined period of time after the date and time. The one or more processors are still further configured to update the status of the space to indicate that it is no longer reserved.

Still further, in accordance with some embodiments, there is provided a non-transitory computer readable medium storing instructions that, when executed by one or more processors, cause the one or more processors to perform a method. The method comprises receiving information regarding a user request to reserve a space, the request including a date and time for reserving the space, a duration for reserving the space, a location of the space, and one or more persons to invite to the space. The method further comprises identifying one or more preferences associated with the user making the user request or with the space, and sending one or more messages in advance of the date and time to configured the space in accordance with the one or more preferences.

In accordance with aspects of the disclosure, the one or more messages are sent to one or more environmental control systems associated with the space to configure at least one of a temperature or lighting.

In accordance with further aspects of the disclosure, the one or more messages are sent to one or more devices associated with technical staff to configure technology within the space.

In accordance with still further aspects of the disclosure, the one or more messages are notifications to the one or more persons identifying a catering provider and requesting that the one or more persons select a food or beverage to be delivered to the space.

In accordance with aspects of the disclosure, the method further comprises updating a status of the space to indicate that it is reserved at the date and time, and receiving an indication that the space is unoccupied from a motion sensor located in proximity to the space at a defined period of time after the date and time. The method still further comprises updating the status of the space to indicate that it is no longer reserved.

In accordance with some embodiments, there is provided a computer-implemented method for sharing information about an issue in a building space, comprising determining, by a computing system comprising one or more processors, a location of a client device based on a proximity of one or more beacons to the client device. The method further comprises receiving, at the computing system, a user notification from the client device regarding an issue in a building space, the user notification including information about the issue, an identity of a user that generated the user notification, and the location of the client device. The method still further comprises providing, by the computing system, one or more messages to one or more devices associated with one or more support staff persons to address the issue.

In accordance with aspects of the disclosure, the user notification includes information about a priority of the issue.

In accordance with further aspects of the disclosure, the user notification further includes a picture of the issue.

In accordance with still further aspects of the disclosure, the user notification further includes information about a category of the issue.

Furthermore, in accordance with some embodiments, there is provided a system for sharing information about an issue in a building space, comprising one or more memory devices storing instructions and one or more processors that execute the instructions. The one or more processors, when executing the instructions, are configured to determine a location of a client device based on a proximity of one or more beacons to the client device. The one or more processors are further configured to receive a user notification from the client device regarding an issue in a building space, the user notification including information about the issue, an identity of a user that generated the user notification, and the location of the client device. The one or more processors are still further configured to provide one or more messages to one or more devices associated with one or more support staff persons to address the issue.

In accordance with aspects of the disclosure, the user notification further includes information about a priority of the issue.

In accordance with further aspects of the disclosure, the user notification further includes a picture of the issue.

In accordance with still further aspects of the disclosure, the user notification further includes information about a category of the issue.

Still further, in accordance with some embodiments, there is provided a non-transitory computer readable medium storing instructions that, when executed by one or more processors, cause the one or more processors to perform a method. The method comprises determining a location of a client device based on a proximity of one or more beacons to the client device. The method further comprises receiving a user notification from the client device regarding an issue in a building space, the user notification including information about the issue, an identity of a user that generated the user notification, and the location of the client device. The method still further comprises providing one or more messages to one or more devices associated with one or more support staff persons to address the issue.

In accordance with aspects of the disclosure, the user notification further includes information about a priority of the issue.

In accordance with further aspects of the disclosure, the user notification further includes a picture of the issue.

In accordance with still further aspects of the disclosure, the user notification further includes information about a category of the issue.

In accordance with some embodiments, there is provided a computer-implemented method for providing information to a building visitor, comprising receiving, by a computing system comprising one or more processors, a user request to provide information to a building visitor, the user request including contact information for the visitor, an identity of the visitor, and a time and date that the visitor will be visiting the building. The method further comprises generating, by the computing system, a code based on the information in the user request, and sending, by the computing system using the contact information, a notification to the visitor including the code, wherein the code is operable to check the visitor into the building using a building security terminal.

In accordance with aspects of the disclosure, the code is one of a Quick Response (QR) code, a bar code, or a mobile key.

In accordance with further aspects of the disclosure, the notification includes a message to a printer to print a label with information about the visitor.

In accordance with still further aspects of the disclosure, the notification includes Wi-Fi settings for configuring a device of the visitor to be capable of using Wi-Fi within the building.

In accordance with aspects of the disclosure, the notification includes access rights that permit the visitor to enter certain areas of the building that are normally restricted to only employees.

Furthermore, in accordance with some embodiments, there is provided a system for providing information to a building visitor, comprising one or more memory devices storing instructions, and one or more processors configured to execute the instructions. The one or more processors are configured to execute the instructions to receive a user request to provide information to a building visitor, the user request including contact information for the visitor, an identity of the visitor, and a time and date that the visitor will be visiting the building. The one or more processors are further configured to generate a code based on the information in the user request, and send a notification to the visitor including the code, wherein the code is operable to check the visitor in to the building using a building security terminal.

In accordance with aspects of the disclosure, the code is one of a Quick Response (QR) code, a bar code, or a mobile key.

In accordance with further aspects of the disclosure, the notification includes a message to a printer to print a label with information about the visitor.

In accordance with still further aspects of the disclosure, the notification includes Wi-Fi settings for configuring a device of the visitor to be capable of using Wi-Fi within the building.

In accordance with aspects of the disclosure, the notification includes access rights that permit the visitor to enter certain areas of the building that are normally restricted to only employees.

Still further, in accordance with some embodiments, there is provided a non-transitory computer readable medium storing instructions that, when executed by one or more processors, cause the one or more processors to perform a method. The method comprises receiving a user request to provide information to a building visitor, the user request including contact information for the visitor, an identity of the visitor, and a time and date that the visitor will be visiting the building. The method further comprises generating a code based on the information in the user request, and sending a notification to the visitor including the code, wherein the code is operable to check the visitor into the building using a building security terminal.

In accordance with aspects of the disclosure, the code is one of a Quick Response (QR) code, a bar code, or a mobile key.

In accordance with further aspects of the disclosure, the notification includes a message to a printer to print a label with information about the visitor.

In accordance with still further aspects of the disclosure, the notification includes Wi-Fi settings for configuring a device of the visitor to be capable of using Wi-Fi within the building.

In accordance with aspects of the disclosure, the notification includes access rights that permit the visitor to enter certain areas of the building that are normally restricted to only employees.

Before explaining example embodiments consistent with the present disclosure in detail, it is to be understood that the disclosure is not limited in its application to the details of constructions and to the arrangements set forth in the following description or illustrated in the drawings. The disclosure is capable of embodiments in addition to those described and is capable of being practiced and carried out in various ways. Also, it is to be understood that the phraseology and terminology employed herein, as well as in the abstract, are for the purpose of description and should not be regarded as limiting.

It is to be understood that both the foregoing general description and the following detailed description are explanatory only and are not restrictive of the claimed subject matter.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute part of this specification, and together with the description, illustrate and serve to explain the principles of various example embodiments.

FIG. 1 illustrates an example view of an environment for providing information about building resources, consistent with embodiments of the present disclosure.

FIG. 2 illustrates an example diagram of a software application and the features that may be offered by the software application, consistent with embodiments of the present disclosure.

FIG. 3 illustrates an example flowchart of a method for providing information about building spaces, consistent with some embodiments of the present disclosure.

FIG. 4 illustrates an example flowchart of a method for receiving information about building spaces, consistent with some embodiments of the present disclosure.

FIG. 5 illustrates an example flowchart of a method for sharing a location in a building, consistent with some embodiments of the present disclosure.

FIG. 6 illustrates an example flowchart of another method for sharing a location in a building, consistent with some embodiments of the present disclosure.

FIG. 7 illustrates an example flowchart of a method for reserving a space, consistent with some embodiments of the present disclosure.

FIG. 8 illustrates an example flowchart of a method for sharing information about an issue in a building space, consistent with some embodiments of the present disclosure.

FIG. 9 illustrates an example flowchart of a method for providing information to a building visitor, consistent with some embodiments of the present disclosure.

FIGS. 10-34 are exemplary screens of a user interface of an exemplary software application for carrying out the systems and methods disclosed herein, consistent with embodiments of the present disclosure.

FIG. 35 illustrates an example computer system for implementing embodiments and features consistent with the present disclosure.

DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS

In the following description, numerous specific details are set forth regarding the systems and methods of the disclosed subject matter and the environment in which such systems and methods may operate in order to provide a thorough understanding of the disclosed subject matter. It will be apparent to one skilled in the art, however, that the disclosed subject matter may be practiced without such specific details, and that certain features, which are well known in the art, are not described in detail in order to avoid unnecessary complication of the disclosed subject matter. In addition, it will be understood that the embodiments provided below are exemplary, and that it is contemplated that there are other systems and methods that are within the scope of the disclosed subject matter.

Embodiments of the present disclosure relate to systems and methods for providing information about building resources. In addition, embodiments of the present disclosure relate to solutions that provide information about building resources to optimize utilization of the building resources.

Buildings often have many resources. For example, spaces could be considered a resource. An office building, for example, might have a variety of spaces, such as offices, conference rooms, common spaces, restrooms, pantries, and other types of spaces. In a large building, these spaces might be spread across a large floor, or across multiple floors. To find a particular space, an employee might wander around the building looking at room numbers or might look at a map of the building to identify where the particular space might be located. An employee might also walk to a particular space, only to find that the employee cannot use the space because it is already occupied. Once arriving at a particular space, a person might have to spend time configuring the space to an employee's liking.

A tool in a building might also be considered a resource. An office building, for example, might have a variety of tools, such as printers, projectors, computers, telephones, conference phones, fax machines, or other types of equipment used in the workplace. In a large building, these tools might be dispersed in particular locations across a large floor, or across multiple floors. To find a particular tool, an employee might ask another employee or support person, or wander around the building looking for the particular tool.

An amenity in a building might also be considered a resource. An office building, for example, might have a variety of amenities, such as coffee makers, microwaves, refrigerators, and vending machines. In a large building, these amenities might be spread across a large floor, or across multiple floors. To find a particular amenity, an employee might ask another employee or support person, or wander around the building looking for the particular amenity.

A person in a building might also be considered a resource. An office building, for example, might have a number of employees. In a large building, it might be difficult to determine where an employee is at any one time and might be difficult to coordinate a meeting with a particular person. To find a particular person, an employee might ask another employee or support person, or wander around the building looking for the particular person.

An issue might sometimes arise with building resource. For example, a tool or amenity might break, or a particular space might be dirty. An employee might report such an issue to a support person in order to get the issue resolved. Alternatively, a support person might periodically check for issues, and the issue might not get resolved until it is noticed by the support person.

For some buildings, such as office buildings, there are times when a person that is not an employee of a tenant in the building might need to visit the building but may not have access to the building. In these situations, the person visiting the building might have to check in with security staff or might need to wait in a lobby for an employee to let the person into the building.

Embodiments of the present disclosure can address the challenges associated with finding a particular resource in a building. For example, some embodiments of the present disclosure provide systems and methods that can provide information about building resources. The information may include, for example, a location of a space, tool, amenity, or person in a building. The information may also include, for example, directions from a person's current location to the location of a particular building resource.

Embodiments of the present disclosure can also address the challenges associated with configuring a space prior to its use. For example, some embodiments of the present disclosure provide systems and methods that can configure a space, such as a conference room, in accordance with a particular person's preferences prior to that person using the space. The preferences might include environmental preferences for the space, such as preferences as to the lighting or temperature of the room. The preferences could also include, for example, preferences for a food or beverage to be served in the room. The preferences might also include preferences regarding whether tools are available in a space, such as whiteboards, projectors, or telephones for making a conference call.

Embodiments of the present disclosure can further address the challenges associated with identifying issues with building resources. For example, some embodiments of the present disclosure provide systems and methods that can receive notice of an issue with a building resource, along with information about the issue that needs to be resolved, such as the location of the issue.

Embodiments of the present disclosure can still further address the challenges associated with managing access to building resources by building visitors. For example, some embodiments of the present disclosure provide systems and methods that can provide information about building resources to a building visitor prior to the visitor entering a restricted part of a building.

FIG. 1 illustrates an example view 100 of an environment for providing information about building resources, consistent with embodiments of the present disclosure. View 100 illustrates a floorplan of a building. The building could be, for example, a private commercial building, a public building, a government owned building, or any other type of building. The floorplan illustrates a layout of a floor of a building. The floor could be rented or owned by a particular business that operates on the floor.

The floorplan illustrated in view 100 includes a variety of different spaces. For example, space 135 may correspond to a conference room, space 140 may correspond to a space next to the elevators, space 145 may correspond to a focus room, space 150 may correspond to a break room, space 155 may correspond to a particular employee's office, space 160 may correspond to a hallway, space 165 may correspond to a lounge space, and space 170 may correspond to a restroom.

In some embodiments, people on a floor, such as employees of the business that rents or owns at least a portion of the floor, might have client devices 110 on them while they are on the floor. One such client device 110 is illustrated in view 100 as a circle with cross-hatching inside of it. A client device 110 may be a mobile device, for example, a mobile phone, smart phone, tablet, netbook, electronic reader, personal digital assistant (PDA), personal computer, laptop computer, smart watch, gaming device, personal organizer, navigation device, and/or other type of mobile computing devices. In some embodiments, a client device 110 may be implemented with one or more hardware devices and/or software applications running thereon. For example, a client device 110 might run a software application for providing a user with information about building resources. A client device 110 may communicate by transmitting data to and/or receiving data from one or more beacons 120 and/or one or more servers 190. In some embodiments, one or more of client device(s) 110 may be implemented using a computer system, such as computer system 3500 of FIG. 35.

The environment might also include one or more beacons 120, which are represented as circles in view 100. In some embodiments, beacon(s) 120 may be configured to transmit and/or receive Bluetooth signals, such as Bluetooth low energy (BLE) signals. In other embodiments, beacon(s) 120 may be configured to transmit and/or receive Wi-Fi signals. Beacon(s) could also be configured to transmit and/or receive ultra-wideband (UWB) signals. In some embodiments, a beacon may be configured to transmit and/or receive a combination of BLE signals, Wi-Fi signals, UWB signals, and/or other types of short range wireless signals. In other embodiments, some beacons in an environment might transmit and/or receive one type of signal, while other beacons in the environment might transmit and/or receive another type of signal. In some embodiments, a beacon 120 might store certain information for uniquely identifying the beacon. A beacon 120 might transmit this information periodically, or upon receiving a signal from a client device 110 and/or a server 190. In some embodiments, a beacon 120 may be implemented with hardware devices and/or software applications running thereon. A beacon 120 may communicate by transmitting data to and/or receiving data from client device(s) 110 or server(s) 190. In some embodiments, one or more of beacon(s) 120 may be implemented using a computer system, such as computer system 3500 of FIG. 35.

The environment might also include one or more sensors 130, which are represented as squares in view 100. A sensor 130 might include a motion sensor. A motion sensor might be, for example, a passive infrared (PIR) sensor, a microwave sensor, an ultrasonic sensor, or a video camera. A motion sensor might be configured to, for example, detect motion of a human in its vicinity. A sensor 130 could also be a light sensor, a temperature sensor, a humidity sensor, or any other type of sensor. In some embodiments, a sensor 130 might include a combination of different types of sensors. In some embodiments, a sensor 130 may be implemented with hardware devices and/or software applications running thereon. A sensor 130 may communicate by transmitting data to and/or receiving data from server(s) 190 or client device(s) 110. In some embodiments, one or more sensor(s) 130 may be implemented using a computer system, such as computer system 3500 of FIG. 35.

As shown in view 100, the environment might also include one or more servers 190. By way of example, server(s) 190 may include any combination of one or more of backend servers, web servers, databases, mainframe computers, general-purpose computers, personal computers, or other types of computing devices. In some embodiments, one or more of server(s) 190 may be configured to receive and provide information about building resources, implement searches, index information, store information, and/or retrieve information. In some embodiments, a server 190 may be a standalone computing system or apparatus, or it may be part of a larger system. For example, server(s) 190 may represent distributed servers that are remotely located and communicate over a communications network, or over a dedicated network, such as a local area network (LAN). Server(s) 190 may include one or more back-end servers for carrying out one or more aspects of the present disclosure.

Server(s) 190 may be implemented as a server system comprising a plurality of servers, or a server farm comprising a load balancing system and a plurality of servers. In some embodiments, a server 190 may be implemented with hardware devices and/or software applications running thereon. A server 190 may communicate with client device(s) 110, beacon(s) 120, and/or one or more sensors 130 over network(s) 180. For example, a server 190 may communicate by transmitting data to and/or receiving data from client device(s) 110, beacon(s) 120, and/or sensor(s) 130. In some embodiments, one or more of server(s) 190 may be implemented using a computer system, such as computer system 3500 of FIG. 35.

As shown in view 100, the environment might also include one or more networks 180. Network(s) 180 may connect server(s) 190 with client device(s) 110, beacon(s) 120, and/or sensor(s) 130. Network(s) 180 may provide for the exchange of information, such as queries for information and results, between client device(s) 110 and server(s) 190, between beacon(s) 120 and server(s) 190, or between sensor(s) 130 and server(s) 190. Network(s) may include one or more types of networks interconnecting client device(s) 110, server(s) 190, beacon(s) 120, and/or sensor(s) 130. For example, one client device 110 may communicate with server(s) 190 using a different type of network 180 than a second client device 110 may use to communicate with server(s) 190. As another example, a beacon 120 or sensor 130 may use a different type of network 180 than a client device 110 may use to communicate with server(s) 190.

Network(s) 180 may include one or more wide area networks (WANs), metropolitan area networks (MANs), local area networks (LANs), personal area networks (PANs), or any combination of these networks. Network(s) 180 may include combination of one or more of a variety of different network types, including Internet, intranet, Wi-Fi, IEEE 802.11, cellular, Bluetooth, UWB, infrared, satellite, wireless universal serial bus (wireless USB), Ethernet, twisted-pair, coaxial cable, fiber optic, and/or other types of wired or wireless networks.

Server(s) 190 may store a variety of information about one or more building floors, such as the floor illustrated in view 100. For example, server(s) 190 may store a representation of the floorplan of the floor. Server(s) 190 may also store information about spaces on the floor. For example, server(s) 190 may store information identifying that space 135 corresponds to a conference room, that space 140 corresponds to a space next to the elevators, that space 145 corresponds to a focus room, that space 150 corresponds to a break room, that space 155 corresponds to a particular employee's office, that space 160 corresponds to a hallway, that space 165 corresponds to a lounge space, and that space 170 corresponds to a restroom. Server(s) 190 may also store information about tools and/or amenities that are available in a particular space.

Server(s) 190 may also store a variety of additional information. For example, server(s) 190 may store information about employees, employee contact information, or employee availability. In some embodiments, server(s) 190 may integrate with office software, such as scheduling software, email software, or personnel management software, to provide this information to server(s) 190.

Server(s) 190 may also store information about beacon(s) 120 located on one or more building floors. For example, server(s) 190 may store unique identifying information for each of beacon(s) 120 and/or information about a location where each of beacon(s) 120 is installed. Server(s) 190 may also store information about sensor(s) 130 located on one or more building floors. For example, server(s) 190 may store unique identifying information for each of sensor(s) 130 and/or information about a location where each of sensor(s) 130 is installed.

In some embodiments, the information stored in server(s) 190 can be stored as a result of a person having entered the information. For example, a system administrator might authenticate with server(s) 190 with a username and password, and might then be able to enter information about a building's floorplan, resources, beacons, and/or sensors. An administrator might also be able to modify or reconfigure this information. For example, an administrator might change information about tools available in a room to add an additional tool when that tool has been added to the room. The administrator may enter and/or change the information stored in server(s) 190 through a user interface, which might enable the information to be entered or changed through entry of text and/or selection of buttons.

Server(s) 190 may receive signals from sensor(s) 130. For example, a sensor 130 in a space may include a motion sensor and may send information about whether motion has been detected to server(s) 190. Sensor(s) 130 may send this information to server(s) 190 periodically, or upon being polled by server(s) 190. In this way, at any one time, server(s) 190 may determine whether motion has been detected in a particular space. If motion has been detected within some period of time (e.g., within the past 5 minutes), server(s) 190 may consider the space to be occupied. If motion has not been detected for some period of time (e.g., within the past 5 minutes), server(s) 190 may consider the space to be unoccupied. Server(s) 190 may receive signals from multiple sensor(s) 130, and may track which spaces are occupied or unoccupied at any one time. Server(s) 190 may also receive signals from light sensors, temperature sensors, humidity sensors, or other types of sensors. Server(s) 190 may use this information to track the climate or lighting of particular spaces.

Within an environment, such as the environment shown in view 100, a software application may be opened on a client device 110. The software application may, for example, provide information about building resources. The software application may configure client device 110 to periodically receive information from one or more of the beacons 120 distributed through the floor of the building. For example, client device 110 may periodically transmit a signal to beacons 120 within proximity of client device 110 over a short range wireless network, such as a Bluetooth, Wi-Fi, or UWB network. The proximity could be, for example, a range of up to 30 feet. In doing so, a client device 110 may continuously scan for beacons 120 within its vicinity. A beacon 120 receiving the signal from client device 110 may respond over the short range wireless network with a transmission that includes information that uniquely identifies beacon 120. Alternatively, rather than have a client device 110 periodically transmit to scan for beacons 120, a beacon 120 may be configured to periodically transmit its unique identifying information. A client device 110 may receive the information for beacons 120 within its vicinity. A client device 110 may receive information from multiple beacons 120 at any particular location on the floor. For example, in the example shown in view 100, client device 110 may receive transmissions from the three or four beacons that are closest to client device 110. In addition to receiving information identifying beacons 120 within its vicinity, a client device 110 may also measure a signal strength of the signals it receives from those beacons 120.

Once a client device 110 has received information about one or more beacons 120 within its vicinity, it may send this information over one or more networks 180 to server(s) 190. In some embodiments, a client device 110 may also send signal strengths associated with the signals it received from beacons 120 within its vicinity to server(s) 190. Server(s) 190 may use the information received from a client device 110 to triangulate a location of client device 110 on the floor. For example, server(s) 190 may determine that, based on the three beacons from which client device 110 received signals, a client device 110 is in a particular location. Server(s) 190 may also utilize information about signal strengths of each of the signals client device 110 received from beacons to further triangulate a location of client device 110. Once a location of client device 110 has been determined, server(s) 190 may use this information to provide information to client device 110. For example, server(s) 190 may provide client device 110 with information about its location, about building resources near its location, and/or with directions from its location to a particular building resource.

FIG. 2 illustrates an example diagram 200 illustrating various features that may be made available on a software application 210 on a client device 110, consistent with embodiments of the present disclosure. For example, a software application 210 may provide one or more features 220 that allow for finding a particular building resource. Software application 210 may also provide one or more features 225 that allow for navigating to a particular building resource. Software application 210 may further provide one or more features 230 that allow for finding information about a building resource. Software application 210 may further provide one or more features 235 that allow for scheduling a meeting with one or more persons, or that allow for editing a scheduled event and its associated room, tools, or amenities. Software application 210 may also provide one or more features 240 that allow for finding a room's booking status and/or for finding a room's occupancy status. Software application 210 may further provide one or more features 245 that allow for sharing a user's location. Software application 210 may also provide one or more features 250 that allow for requesting assistance with an issue with a building resource. Software application 210 may also provide one or more features 255 that allow for visitor management. Software application 210 may further provide one or more features 260 for access to resources of a building. Software application 210 may also provide one or more features 265 that allow for posting information about building events and/or for sending notifications to employees. Software application 210 may further provide one or more features 270 that allow for providing concierge services.

FIG. 3 illustrates a flowchart of an example method 300, consistent with embodiments of the present disclosure. Example method 300 may be implemented in an environment (see, e.g., FIG. 1) using one or more computer systems (see, e.g., FIG. 35). In some embodiments, method 300 may be performed by one or more servers 190.

In step 301, an indication of whether a space is occupied may be received. For example, server(s) 190 may receive information from a motion sensor 130 located in proximity to a space indicating whether the space is occupied. The space could be, for example, a room, and motion sensor 130 may be located within the room. Server(s) 190 may update stored information about the occupancy of the space based on the received indication.

In step 302, a location of a client device 110 may be determined. For example, a client device 110 may receive signals with information uniquely identifying one or more beacons 120 in proximity to client device 110. Client device 110 may also identify signal strengths associated with the signals it receives from beacon(s) 120. Server(s) 190 may receive the information uniquely identifying the one or more beacons from the client device. Server(s) 190 may also receive information about the signal strengths of the signals from the client device. Server(s) 190 may then use the information uniquely identifying beacon(s) 120 to determine a location of client device 110. Server(s) 190 may also use signal strength information to determine the location of client device 110. Server(s) 190 may determine the location of client device 110 using, for example, triangulation.

In step 303, a route between client device 110 and the space may be determined. For example, a client device 110 may display an indication that a space is unoccupied based on information received from server(s) 190. A user of client device 110 may then request a route between client device 110 and the space by sending a request to server(s) 190. Server(s) 190 may use the determined location of client device 110 and a stored location of the space to determine the shortest route to take in the building to get from the location of client device 110 to the space.

In step 304, once the route has been determined, server(s) 190 may provide information that allows at least a portion of the route to be displayed on a map of at least a portion of a floor of a facility that houses the space. The information may be, for example, graphics primitives or other display information. The information may also include information that enables visual and/or audio turn-by-turn directions to be output on device 110. The information may cause the at least a portion of the route to be displayed as an overlay on the map on a screen of client device 110. In some embodiments, the route may be displayed on client device 110 as a line between the location of client device 110 on the map and the space on the map. If a route is relatively short, the information may cause the entire route to be displayed on client device 110. If the route is relatively long, the information may cause only a first part to be traversed of the route to be displayed. If the building has multiple tenants on the floor, the map may display only a portion of the floor. For example, if the user of client device 110 is an employee of a company renting only a portion of a floor, client device 110 may only display a map of that portion of the floor on client device 110. In some embodiments, the map displayed on client device 110 may also include information about spaces, tools, and/or amenities on the floor, such as room names or points of interest (e.g., restrooms, pantries, coffee makers).

Once the route on the map is displayed on client device 110, a displayed location of client device 110 on the map may be updated as client device 110 moves. For example, server(s) 190 may receive from client device 110 information about beacon(s) in its proximity and/or signal strength of beacons in its proximity at a time later than a time at which the previous location of client device 110 was determined. Server(s) 190 may use this information to determine a second location of client device 110. Server(s) 190 may then provide information to client device 110 that allows client device 110 to display an updated position of client device 110 on the route on the map.

In some embodiments, server(s) 190 may provide a client device 110 with information for overlays on portions of the map corresponding to spaces, indicating whether each of the spaces is available or unavailable. For example, server(s) 190 may receive information from multiple sensors 130 indicating an occupancy status of multiple spaces. Server(s) 190 may use this status information to provide client device 110 with information for displaying overlays on the portions of the map corresponding to spaces, indicating whether each of the spaces is available or unavailable based on its occupancy status. In some embodiments, the overlays can be color overlays, where different colors are used to indicate whether each of the spaces is available or unavailable. For example, green overlays may be displayed over spaces that are unoccupied, red overlays may be displayed over spaces that are occupied, and grey overlays may be displayed over spaces with unknown occupancy.

In some embodiments, a user of a client device 110 may request to filter the displayed overlays regarding occupancy status. For example, a user may request to filter the displayed overlays to display only overlays for spaces meeting certain criteria. The criteria could be, for example, a time frame during which the user wants to use a space, whether a space is reservable, a type of work the user intends to perform, a tool the user requires, or an amenity of a space. Server(s) 190 may receive the request from client device 110, determine which of the available or unavailable spaces meets the user specified criteria, and send to client device 110 updated information for displaying overlays only on spaces of the floor that meet the user specified criteria.

In some embodiments, a user of a client device 110 may request an unoccupied space for performing a particular task, such as making a call, meeting with a small group, meeting with a large group, or working in a quiet space. Server(s) 190 may receive an indication that the user of client device 110 has requested an unoccupied space for performing the particular task. Server(s) 190 may then determine the closest space to the user that is unoccupied and that is suitable for the particular task. Server(s) 190 may store information about tasks for which different spaces in a building are suitable, and may use this information in determining which spaces are suitable for the task identified by the user. Server(s) 190 may then determine a route between the location of client device 110 and the space, and may provide information so that the route is displayed as an overlay on a map of the floor on client device 110.

FIG. 4 illustrates a flowchart of an example method 400, consistent with embodiments of the present disclosure. Example method 400 may be implemented in an environment (see, e.g., FIG. 1) using a computer system (see, e.g., FIG. 35). In some embodiments, method 400 may be performed by a client device 110.

In step 401, information about a beacon may be received by client device 110. For example, a client device 110 may receive signals with information uniquely identifying one or more beacons 120 in proximity to client device 110. Client device 110 may also identify signal strengths associated with the signals it receives from beacon(s) 120.

In step 402, client device 110 may provide the information uniquely identifying beacon(s) 120 to server(s) 190. Client device 110 may also provide to server(s) 190 information about signal strengths associated with the signals client device 110 received from beacon(s) 120. Server(s) 190 may utilize this information to determine a location of client device 110.

In step 403, client device 110 may provide a request to navigate to a space to server(s) 190. For example, a user of client device 110 may select a particular space to which the user wishes to navigate, and in response, client device 110 may send the request to server(s) 190.

In step 404, client device 110 may receive from server(s) 190 information for displaying at least a portion of a route between a location of client device 110 and a location of the space on a map of at least a portion of a floor of a facility housing the space. The information received from server(s) 190 may be, for example, graphics primitives or other display information. The information may also include information that enables visual and/or audio turn-by-turn directions to be output on device 110.

In step 405, at least a portion of the route may be displayed as an overlay on the map on a screen of client device 110, based on the information received from server(s) 190. In some embodiments, the route may be displayed on client device 110 as a line between the location of client device 110 on the map and the space on the map. If a route is relatively short, the entire route may be displayed on client device 110. If the route is relatively long, only a first part to be traversed of the route may be displayed. If the building has multiple tenants on the floor, the map may display only a portion of the floor. For example, if a user of client device 110 is an employee of a company renting only a portion of a floor, client device 110 may only display a map of that portion of the floor on client device 110. In some embodiments, the map displayed on client device 110 may also include information about spaces, tools, and/or amenities on the floor, such as room names or points of interest (e.g., restrooms, pantries, coffee makers).

Once the route on the map is displayed on client device 110, a displayed location of client device 110 on the map may be updated as client device 110 moves. For example, client device 110 may receive information about beacon(s) 120 in its proximity and/or signal strength of beacons in its proximity at a time later than a time at which the previous location of client device 110 was determined. Client device 110 may provide this provide this information to server(s) 190, and then receive from server(s) 190 information regarding the current location of client device 110. Client device 110 may then display an updated position of client device 110 on the route on the map.

In some embodiments, client device 110 may display overlays on portions of the map corresponding to spaces, indicating whether each of the spaces is available or unavailable. For example, server(s) 190 may provide client device 110 with information for displaying these overlays. The overlays may indicate whether each of the spaces is available or unavailable based on its occupancy status. In some embodiments, the overlays can be color overlays, where different colors are used to indicate whether each of the spaces is available or unavailable. For example, green overlays may be displayed over spaces that are unoccupied, red overlays may be displayed over spaces that are occupied, and grey overlays may be displayed over spaces with unknown occupancy.

In some embodiments, a user of client device 110 may request to filter the displayed overlays regarding occupancy status. For example, a user may request to filter the displayed overlays to display only overlays for spaces meeting certain criteria. The criteria could be, for example, a time frame during which the user wants to use a space, whether a space is reservable, a type of work the user intends to perform, a tool the user requires, or an amenity of a space. An indication of the user request can be sent to server(s) 190. Client device 110 may then receive updated information for displaying overlays only on spaces of the floor that meet the user specified criteria.

In some embodiments, a user of a client device 110 may request an unoccupied space for performing a particular task, such as making a call, meeting with a small group, meeting with a large group, or working in a quiet space. Client device 110 may send this request to server(s) 190. In response, client device 110 may receive from server(s) 190 an indication of the closest space to client device 110 that is unoccupied and that is suitable for the particular task. Client device 110 may also receive from server(s) 190 information for displaying at least a portion of the route between the location of client device 110 and the location of the space on the map displayed on client device 110.

FIG. 5 illustrates a flowchart of an example method 500, consistent with embodiments of the present disclosure. Example method 500 may be implemented in an environment (see, e.g., FIG. 1) using one or more computer systems (see, e.g., FIG. 35). In some embodiments, method 500 may be performed by one or more servers 190.

In step 501, a location of a client device 110 may be determined. For example, a client device 110 may receive signals with information uniquely identifying one or more beacons 120 in proximity to client device 110. Client device 110 may also identify signal strengths associated with the signals it receives from beacon(s) 120. Server(s) 190 may receive the information uniquely identifying the one or more beacons from the client device. Server(s) 190 may also receive information about the signal strengths of the signals from the client device. Server(s) 190 may then use the information uniquely identifying beacon(s) 120 to determine a location of client device 110. Server(s) 190 may also use signal strength information to determine the location of client device 110. Server(s) 190 may determine the location of client device 110 using, for example, triangulation.

In step 502, information regarding a user request to share a location in a building may be received from the client device. For example, a user of a client device 110 might wish to share the client device's current location, or a meeting location, with one or more persons. The location could be the location of a bookable space, or a non-bookable space, such as a common space. The user request may specify one or more persons with whom to share the location, a location to be shared, and/or a message to the one or more persons. In some embodiments, the user request may include a request to select a location on a map of at least a portion of a floor of a facility. In response to such a request, server(s) 190 may provide to client device 110 information for display of the map of the at least a portion of the facility, and the client device may display the map. A user may then select a location on the map, and server(s) 190 may receive the selection of the location from the client device. Server(s) 190 may then include the selected location as the location to be shared as part of the notification.

In step 503, a notification may be provided to one or more devices associated with the one or more persons. The notification may identify the user making the user request, the location, and the message. The notification may be provided to the one or more devices based on contact information input by the user. Alternatively, server(s) 190 may look up contact information for the specified one or more persons and use that contact information to deliver the notification.

FIG. 6 illustrates a flowchart of an example method 600, consistent with embodiments of the present disclosure. Example method 600 may be implemented in an environment (see, e.g., FIG. 1) using a computer system (see, e.g., FIG. 35). In some embodiments, method 600 may be performed by a client device 110.

In step 601, a user request to share a location in a building may be received. For example, a user of a client device 110 might wish to share the client device's current location, or a meeting location, with one or more persons. The location could be the location of a bookable space, or a non-bookable space, such as a common space. The user request may include, for example, a selection of one or more persons with whom to share the location, a location to be shared, and/or a message to the one or more persons. In some embodiments, the user request may include a request to select a location on a map of at least a portion of a floor of a facility. Such a request may be provided to server(s) 190, and client device 110 may receive in response from server(s) 190 information for displaying a map of at least a portion of the floor of the facility. Client device 110 may display the map using this information. A user may then select a location on the map, and provide the selected location to server(s) 190. Server(s) 190 may then include the selected location as the location to be shared as part of the notification.

In step 602, information regarding the user request to share the location may be sent to server(s) 190. The information may include information about the one or more persons with whom to share the location, the location to be shared, and/or a message to the one or more persons. Server(s) 190 may then use this information to send a notification to the one or more persons. Once the notification has been sent, server(s) 190 may generate information for causing client device 110 to display a confirmation indicating that a notification including the location and the message has been sent to the one or more persons.

In step 603, the information for causing display of the confirmation may be received by client device 110. Once this information has been received, client device 110 may display the confirmation.

FIG. 7 illustrates a flowchart of an example method 700, consistent with embodiments of the present disclosure. Example method 700 may be implemented in an environment (see, e.g., FIG. 1) using one or more computer systems (see, e.g., FIG. 35). In some embodiments, method 700 may be performed by one or more server(s) 190.

In step 701, server(s) 190 may receive information regarding a user request to reserve a space. For example, server(s) may maintain information about which spaces in a building are reservable, which spaces have already been reserved at particular dates and times, and which spaces are available at particular dates and times. A user wishing to reserve a space can request information about the availability of the spaces from server(s) 190, and may then request to reserve a particular space. The user request may include a date and time for reserving the space, a duration for reserving the space, a location of the space, and/or one or more persons to invite to the space.

In step 702, server(s) 190 may identify one or more preferences. The one or more preferences may be associated with the user making the user request, with a person invited to the space, or with the space itself. For example, server(s) 190 may store preferences associated with users or with spaces. These preferences may include, for example, a preference as to environmental conditions in the space, technology tools within the space, or food or beverage for consumption in the space. For example, a user may have preferences as to environmental conditions of a space, such as a temperature level, humidity level, or lighting level of a space. A user might also have preferences as to technology tools of a space, such as always wanting a projector to be set up before the user's reserved time for using the space. A user might also have preferences as to a food or beverage for consumption in the space. For example, a user might prefer to have coffee served during his meetings or might prefer that sandwiches be served from a particular food vendor at lunch meetings. Server(s) 190 may store user preferences for spaces.

In step 703, server(s) 190 sends one or more messages in advance of the date and time for which the space is reserved to configure the space in accordance with the one or more preferences. For example, server(s) 190 may send messages to appropriate control systems, food vendors, and/or support staff to configure the space to the user's liking.

In some embodiments, the one or more messages could be notifications to one or more persons invited to the space at the reserved time. For example, the notifications could notify the one or more persons that the user has invited them to a particular space at a particular date and time, and could include a message asking the one or more persons whether they have any preferences for the space, such as preferences as to environmental conditions, preferences as to a technology tool to use in the space, or preferences as to a food or beverage to be served in the space. In some embodiments, the notification may indicate that the user has selected a particular caterer for a meeting in the space, and could request that the one or more persons select particular food or beverage items from that caterer's menu for delivery to the space at the reserved date and time.

In some embodiments, machine learning or artificial intelligence algorithms may be implemented in server(s) 190 to automatically determine a user's likely preferences for certain spaces, and to update those preferences as they change over time by tracking the user's preferences for different types of spaces.

When a user has reserved a space for a particular date and time, server(s) 190 may update a status of the space in a database to track that it is reserved at the particular date and time. In some embodiments, server(s) 190 may receive an indication from a motion sensor located in proximity to the space at a defined period of time after the date and time. For example, the motion sensor could send indications of occupancy status to server(s) 190 periodically or in response to polling by server(s) 190. In some embodiments, a motion sensor may send an indication of occupancy of the space to server(s) 190 some time period into a reservation, such as 10 minutes into a reservation. If the space is unoccupied, server(s) 190 may update the status of the space in the database to indicate that the space is no longer reserved and is now available during the previously reserved time. In doing so, spaces can be made available even when they are reserved if the space is not being utilized.

FIG. 8 illustrates a flowchart of an example method 800, consistent with embodiments of the present disclosure. Example method 800 may be implemented in an environment (see, e.g., FIG. 1) using one or more computer systems (see, e.g., FIG. 35). In some embodiments, method 800 may be performed by one or more servers 190.

In step 801, a location of a client device 110 may be determined. For example, a client device 110 may receive signals with information uniquely identifying one or more beacons 120 in proximity to client device 110. Client device 110 may also identify signal strengths associated with the signals it receives from beacon(s) 120. Server(s) 190 may receive the information uniquely identifying the one or more beacons from the client device. Server(s) 190 may also receive information about the signal strengths of the signals from the client device. Server(s) 190 may then use the information uniquely identifying beacon(s) 120 to determine a location of client device 110. Server(s) 190 may also use the signal strength information to determine the location of client device 110. Server(s) 190 may determine the location of client device 110 using, for example, triangulation.

In step 802, server(s) 190 may receive a user notification from the client device regarding an issue in the building space. The user notification may include information about the issue, an identity of a user that generated the user notification, and/or the location of the client device. For example, a user in a building may identify a particular issue with a building resource, such as a printer that is broken, a bathroom that is dirty, a conference room with a broken projector, or some other issue. The user may select to report the issue. The user may enter information describing the issue. The user may also select a location of the issue. For example, the user could select the current location of client device 110 as the location of the issue or could select a location on a displayed map on client device 110. The information describing the issue, the location of the issue, and information identifying a user of the client device may then be sent as a user notification to server(s) 190. In some embodiments, the user may also enter a priority of the issue or a category of the issue for inclusion in the user notification. In some embodiments, the user may also take a picture of the issue and include the picture in the user notification. Server(s) 190 may receive the notification and determine the type of issue. Based on the type of issue, server(s) 190 may provide one or more messages to one or more devices associated with one or more appropriate support staff persons for the type of issue, so that they can address the issue.

FIG. 9 illustrates a flowchart of an example method 900, consistent with embodiments of the present disclosure. Example method 900 may be implemented in an environment (see, e.g., FIG. 1) using one or more computer systems (see, e.g., FIG. 35). In some embodiments, method 900 may be performed by one or more servers 190.

In step 901, server(s) 190 may receive from a client device 110 a user request to provide information to a building visitor. The user request may include contact information for the visitor, an identity of the visitor, and/or a time and date that the visitor will be visiting the building. For example, a user may schedule a meeting in a conference room in the building for a particular date and time, invite the visitor to the meeting, and generate the user request based on the scheduled meeting.

In step 802, based on the information in the user request, server(s) 190 may generate a code, such as a bar code, a quick response (QR) code, or a mobile key.

In step 803, server(s) 190 may then send a notification to the visitor using the contact information, and the notification may include the code. The code may be displayed on a device of the visitor, such that the visitor can display the code and scan it on a terminal to check in with a security desk upon arriving at the building. In some embodiments, the notification may also include a message to a printer that causes the printer to print a label with information about the visitor for the visitor to wear while visiting the building. In some embodiments, the notification may include Wi-Fi settings for configuring the device of the visitor so that it is capable of using Wi-Fi when in the building. In some embodiments, the bar code, QR code, or mobile key included in the notification may scanned at doorways, such that the visitor can access certain areas of the building that are normally restricted to only employees working in the building.

FIGS. 10-34 illustrate exemplary screens of a user interface of a software application for providing information regarding building resources to a user, consistent with embodiments of the present disclosure. The software application may be executed on, for example a client device, such as a client device 110 described herein. The arrangement of icons, text, and/or other graphical elements in the screens of FIGS. 10-34 are provided only for purposes of illustration. Additional, fewer, or alternative arrangements of graphical elements may be made, consistent with the present disclosure. Moreover, one would recognize that features, elements, and/or functionality described with reference to the screens in FIGS. 10-34 may be combined into fewer screens and/or removed from screens. One should also recognize that additional features, elements, and/or functionality consistent with embodiments of the present disclosure may be added in one or more of the screens illustrated in FIGS. 10-34, or in one or more additional screens.

FIG. 10 illustrates an exemplary screen 1000 of a user interface of a software application, consistent with embodiments of the present disclosure. Screen 1000 may be, for example, a screen that is displayed after a user opens the software application. Screen 1000 may include a welcome message.

FIG. 11 illustrates an exemplary screen 1100 of a user interface of the software application, consistent with embodiments of the present disclosure. Screen 1100 may be viewed, for example, when a user scrolls down from screen 1000. Screen 1100 includes text indicating that the software application includes features that allow for finding resources within the building, and for navigating to locations within the building. A user may open these features by selecting open button 1110.

FIG. 12 illustrates an exemplary screen 1200 of a user interface of the software application, consistent with embodiments of the present disclosure. Screen 1200 may be, for example, a screen that opens after the user has selected open button 1110. Screen 1200 may include an indicator 1205 with the initials of the user who is using the software application. Screen 1200 may display a map of a portion of a building floor, along with room names (e.g., Room 1, Room 2, Room 3) or other points of interest. Screen 1200 may also present overlays on the map indicating an occupancy status of spaces on the map. In some embodiments, the overlays can be color overlays, where different colors are used to indicate whether each of the spaces is available or unavailable. For example, green overlays may be displayed over spaces that are unoccupied, red overlays may be displayed over spaces that are occupied, and grey overlays may be displayed over spaces with unknown occupancy. An icon 1210 may indicate a current location of client device 110 on the map. Selection of icon 1215 may provide access to a navigation feature that allows the user to navigate to a particular building resource from the client device's current location. A user may scroll around the map using a touch screen interface on client device 110. The user may select to re-center the map around the location of client device 110 by selecting icon 1260. A user may select to refresh the occupancy overlays by selecting icon 1250. A user may switch the map to a map corresponding to a different floor of the building by selecting icon 1270. A user may search for a particular building resource using search bar 1220. A user may filter building resources by selecting icon 1230. A toolbar on the bottom of screen 1200 may allow the user to switch between different functions of the software application. For example, selection of icon 1283 may cause the application to return to a home screen, such as screen 1000. Icon 1286 may cause the application to show a map of a building floor. Icon 1286 may be highlighted in screen 1200, because the map is currently displayed. Selection of icon 1289 may open features that allow a user to schedule a meeting. Selection of icon 1292 may open features that allow the user to share a location with one or more other persons. Selection of icon 1295 may open features that allow a user to send a notification regarding an issue in the building.

If a user searches for a particular building resource, the map may focus in on that particular resource. For example, if a user searches for a conference room named “Room 4” using search bar 1220 in screen 1200, screen 1300 may be displayed.

FIG. 13 illustrates an exemplary screen 1300 of a user interface of the software application, consistent with embodiments of the present disclosure. As shown in screen 1300, the map has focused on the part of the map corresponding to the “Room 4” conference room, and the conference room name is highlighted in text 1310 on the screen. The bottom portion of screen 1300 may correspond to information about the searched for space, which in this case is conference room “Room 4.” If the user uses a swiping gesture to swipe up on the bottom portion of the screen, a screen provides additional information about the space, such as screen 1400 of FIG. 14.

FIG. 14 illustrates an exemplary screen 1400 of a user interface of the software application, consistent with embodiments of the present disclosure. As shown in screen 1400, the additional information screen 1410 may include a title of the room 1420 (e.g., “Room 4”), a status of the occupancy of the room 1430 (e.g., Status—Occupied), an icon to get directions to the room 1440, and an icon to book the room 1450. In some embodiments, occupancy status may be illustrated with one or more colors. For example, the color red may indicate that a space is occupied, while a color green may indicate that a space is unoccupied. A color grey may indicate that a space's occupancy status is unknown. If the user again uses a swiping gesture to swipe up on the bottom portion of the screen, additional information about the space may be provided, such as shown in screen 1500 of FIG. 15.

FIG. 15 illustrates an exemplary screen 1500 of a user interface of the software application, consistent with embodiments of the present disclosure. In addition to the information shown in screen 1400, screen 1500 may include an icon 1510 for sharing the location of the space with one or more persons. Screen 1500 may also include additional details about the room. For example, screen 1500 may include details 1520 about whether the space is of a type that is reservable. Screen 1500 may also include details 1530 indicating the type of technology tools that are available in the space. In this case, details 1530 indicate that the room “Room 4” has audio conference capabilities and video conference capabilities, and that it has a desk phone, a digital presentation display, and a whiteboard. Screen 1500 may further include details 1540 about the types of tasks for which the space is suitable. In this case, details 1540 indicate that the room “Room 4” is suitable for a large group meeting, for collaboration, for private work, or for a meeting.

FIG. 16 illustrates an exemplary screen 1600 of a user interface of the software application, consistent with embodiments of the present disclosure. Screen 1600 may be displayed when a user tries to reserve a room, such as when a user selects icon 1450 of screen 1400. In the example shown in screen 1600, the user is attempting to reserve a room named “Room 6.” The name of the space is shown in icon 1640, and can be changed by selecting icon 1640. Icon 1620 illustrates the day and time for which the user wishes to reserve the space. This can be changed by selecting icon 1620. Icon 1610 illustrates the participants that will be attending the event in the room at that time. The participants can be added or modified by selecting icon 1610. Icon 1650 may be selected if the user wishes to add teleconference information, such as a dial in telephone number. Icon 1660 may be used to enter a title for the meeting, if the user chooses to do so. Icon 1670 may be used to enter a description of the meeting, if the user chooses to do so. Once the user is satisfied with the information that has been entered for a meeting and for reserving a space, the user may click submit 1680. In some embodiments, the software application, or server(s) 190 with which the software application communicates via client device 110, may integrate with other office management software, such as e-mail, scheduling, and/or personnel management software applications. These integrated applications can be utilized to obtain information about possible participants, participant schedules, room availability, or other information.

FIG. 17 illustrates an exemplary screen 1700 of a user interface of the software application, consistent with embodiments of the present disclosure. Screen 1700 may be displayed when a user continues to scroll down from screen 1100 of the home screen. Screen 1700 may indicate that an open space near me feature is available. A user may select icon 1710 to utilize the feature. Upon selection of icon 1710, a screen showing a map with overlays identifying open spaces may be displayed, such as screen 1800 of FIG. 18.

FIG. 18 illustrates an exemplary screen 1800 of a user interface of the software application, consistent with embodiments of the present disclosure. Screen 1800 may be opened, for example, when a user selects the open spaces near me feature illustrated in screen 1700 of FIG. 17. Screen 1800 is a map screen, as illustrated by the highlighted map screen shown in the toolbar at the bottom of the screen. Screen 1800 illustrates the current location of client device 110, and point of interest and room name overlays for spaces that are currently unoccupied.

FIG. 19 illustrates an exemplary screen 1900 of a user interface of the software application, consistent with embodiments of the present disclosure. Screen 1900 may be opened, for example, when a user selects icon 1215 from any of the map screens. Screen 1900 shows a navigation feature of the software application. In the example illustrated in screen 1900, a user has selected conference room “Room 7.” Selection of icon 1920 provides the user with directions to conference room “Room 7” from the current location of the user's client device 110. Selection of icon 1910 provides the user with navigation to conference room “Room 7” from the current location of the user's client device 110. Selection of icon 1910 may, for example, open a navigation screen, such as screen 2000 of FIG. 20.

FIG. 20 illustrates an exemplary screen 2000 of a user interface of the software application, consistent with embodiments of the present disclosure. Screen 2000 illustrates the current location 2020 of the user's client device 110. Screen 2000 also illustrates a route between current location 2020 of the user's client device 110 and the user's destination, which in this case is the conference room “Room 7.” In the example shown in screen 2000, the route is illustrated as a line. In this case, conference room “Room 7” is on a different floor than the floor the user is currently on, so the line ends 2030 at the elevators. When the user navigates to the elevators and moves to the floor “Room 7” is on, the route between the elevators on that floor and “Room 7” will be then be displayed. Screen 2000 also illustrates a navigation bar, which indicates turns a user has to make to get to the user's destination, and how long the user has until the user must make that turn. For example, client device 110 may provide audio and/or visual turn-by-turn directions from the user's location to the user's destination. Selection of icon 2060 of screen 2000 may cause display of a direction indicator that indicates the current direction the user is facing, using, for example, an accelerator or compass in client device 110. Icon 2050 indicates that the route currently displayed is handicap accessible. A user may select icon 2070 to exit the navigation feature. In some embodiments, while the user is navigating the map may focus in on the area where the client device is currently located, so that the user can see the turns the user has to make in the near term. This is illustrated in screen 2100 of FIG. 21.

FIG. 21 illustrates an exemplary screen 2100 of a user interface of the software application, consistent with embodiments of the present disclosure. Screen 2100 may be displayed while the user is navigating between the user's current location and a destination and may provide a focused view of the immediate area around the user, so that the user can see the turns the user has to make in the near term.

FIG. 22 illustrates an exemplary screen 2200 of a user interface of the software application, consistent with embodiments of the present disclosure. Screen 2200 may be displayed when a user continues to scroll down from screen 1700 of the home screen. Screen 2200 may provide a number of icons the user can select from to search for a space for a particular task. For example, a user may select icon 2210 to find a nearby open space that is suitable for making a private call. A user may select icon 2220 to find a nearby open space that is suitable for meeting with a small group. A user may select icon 2230 to find a nearby open space that is suitable for working in silence. A user may select icon 2240 to find a nearby space that is suitable for getting coffee. A user may select icon 2250 to find a nearby restroom.

FIG. 23 illustrates an exemplary screen 2300 of a user interface of the software application, consistent with embodiments of the present disclosure. Screen 2300 may be displayed when a user continues to scroll down from screen 2200 of the home screen. Screen 2300 may include text indicating that a send your location feature is available. A user can select icon 2310 to use this feature. Selection of icon 2310 may open a screen for sharing a location, such as example screen 2400 of FIG. 24.

FIG. 24 illustrates an exemplary screen 2400 of a user interface of a software application, consistent with embodiments of the present disclosure. Screen 2400 may be displayed when a user selects icon 2310 of screen 2300, for example. A user may select icon 2410 to select one or more persons with whom to share a location. A user may select icon 2420 to add a location to share. The location to share could be the current location of the user's client device 110, or the user may select another location from the map by selecting icon 2420. The location could be the location of a bookable space, or a non-bookable space, such as a common space. The user may enter a message to the one or more persons by selecting icon 2430. For example, the user may enter a message to indicate to the one or more persons that “let's meet at this location in 30 minutes.” Once the user is satisfied with the information entered into icons 2410, 2420, and 2430, the user may select icon 2440 to share the location, message, and/or user's identity with the one or more persons. The user may select icon 2450 to clear the entries in icons 2410, 2420, and 2430.

FIG. 25 illustrates an exemplary screen 2500 of a user interface of the software application, consistent with embodiments of the present disclosure. Screen 2500 may be displayed after server(s) 190 have confirmed that a location has been shared after the user has selected icon 2440 in screen 2400, for example. Screen 2500 includes information 2510 confirming that the location has been shared, and the one or more persons with whom the location has been shared. Icon 2530 or icon 2520 may be selected to exit the confirmation screen.

FIG. 26 illustrates an exemplary screen 2600 of a user interface of the software application, consistent with embodiments of the present disclosure. Screen 2600 may be displayed when a user continues to scroll down from screen 2300 of the home screen. Screen 2600 may include text indicating that a scheduling assistance feature is available. A user can select an icon 2640 to view the user's schedule. A user can select icon 2610 to begin a scheduling task by first selecting one or more persons with which to schedule a meeting. A user can select icon 2620 to begin a scheduling task by first selecting a time and date for scheduling a meeting. A user can select icon 2630 to begin a scheduling task by first selecting a location in which to schedule a meeting.

FIG. 27 illustrates an exemplary screen 2700 of a user interface of the software application, consistent with embodiments of the present disclosure. Screen 2700 may be displayed, for example, when a user selects icon 2640 of screen 2600. Screen 2700 may display, for example, the user's current schedule. The user may select icon 2710 to toggle between daily and weekly views of the user's schedule. A user may select a particular day for which to view the user's schedule by selecting from a day in week view 2720. Items 2730 illustrate meetings that have already been scheduled. A user may select icon 2740 to create a new event. Selection of icon 2740 may open a screen for scheduling an event, such as screen 1600 of FIG. 16.

FIG. 28 illustrates an exemplary screen 2800 of a user interface of the software application, consistent with embodiments of the present disclosure. Screen 2800 may be displayed when a user continues to scroll down from screen 2600 of the home screen. Screen 2800 may include text indicating that a building help feature is available. A user can select an icon 2810 to call a building manager for assistance. A user can select an icon 2820 to text a building manager for assistance. Selection of icon 2820 may open a screen, such as screen 2900 of FIG. 29.

FIG. 29 illustrates an exemplary screen 2900 of a user interface of the software application, consistent with embodiments of the present disclosure. Screen 2900 may be displayed when a user selects to send a user notification about an issue with a building resource, such as by selecting icon 2820 in screen 2800 of FIG. 28. Screen 2900 illustrates a list of tickets the user has opened regarding service requests for issues with building resources. The user can toggle between open and completed tickets by selecting icon 2910 or icon 2920. The user can search through tickets with search bar 2930. The user can create a new ticket for a new issue by selecting icon 2940. Selection of icon 2940 may open a screen for inputting information about the issue, such as screen 3000 of FIG. 30.

FIG. 30 illustrates an exemplary screen 3000 of a user interface of the software application. Screen 3000 includes an icon 3010 for selecting a category of the issue, an icon 3020 for selecting a location where the issue exists, an icon 3030 for entering details about the issue, an icon 3040 for entering a business impact or priority of the issue, an icon 3005 for adding one or more photos of the issue, and an icon 3060 for entering one or more persons who are requesting that the issue be resolved. Once the user is satisfied with the information entered in screen 3000, the user may select icon 3070 to submit the user notification.

FIG. 31 illustrates an exemplary screen 3100 of a user interface of the software application, consistent with embodiments of the present disclosure. Screen 3100 may be displayed, for example, when a user selects icon 3010 in screen 3000. Screen 3100 may allow a user to select a category associated with the issue. For example, a user can select from icons 3110 to select a category, such as landscaping, recycling, cleaning—floor, cleaning—windows, lighting, pest control, restroom supplies, windows—cleaning, or lighting. A user can also search for categories using search bar 3120. Selection of one of icons 3110 will populate icon 3020 of screen 3000.

FIG. 32 illustrates an exemplary screen 3200 of a user interface of the software application, consistent with embodiments of the present disclosure. Screen 3200 may be displayed when a user is viewing spaces that are currently available or unavailable on the map, or when the user is viewing whether spaces are available or unavailable at a certain time and/or day in the future. As shown in screen 3200, available rooms can be shown on the screen with green overlays, while unavailable rooms may be displayed with red overlays. Rooms for which the status is unknown may have grey overlays. A legend may display that the color green 3210 corresponds to available spaces, the color red 3220 corresponds to unavailable spaces, and the color grey 3230 corresponds to spaces for which status is known. An indicator 3270 indicates a current location of the user's client device 110. Screen 3200 illustrates several spaces that are available with overlays 3260. A user can search for a particular room with search bar 3250. A user can also filter rooms for which overlays are displayed by selecting icon 3240. In determining availability of a room, server(s) 190 may take occupancy (e.g., whether the space is currently occupied) and/or a booking status (e.g., whether the space is reserved) into account.

FIG. 33 illustrates an exemplary screen 3300 of a user interface of the software application, consistent with the present disclosure. Screen 3300 may be displayed when a user selects to filter overlays of spaces, such as by selecting icon 3240 of screen 3200. A user may select icon 3310 to display filtering options for workplaces or may select icon 3320 to display filtering options for amenities. In the example illustrated in screen 3300, the user has selected to display filtering options for workplaces. A user may select an icon 3330 to toggle whether to only show reservable spaces. A user may select an icon 3340 to enter a number of people that will be sharing the space. A user may select from icons 3350 to select a task to be performed in the space. A user may select from icons 3360 to select tools required in the space. A user may select 3380 to clear the selections in screen 3300. A user may select icon 3370 to filter the displayed overlays according to the options selected in screen 3300.

FIG. 34 illustrates an exemplary screen 3400 of a user interface of the software application, consistent with embodiments of the present disclosure. Screen 3400 may be displayed when a user selects to filter overlays of spaces by amenities. A user can select from icons 3410 to filter by particular amenities and may select icon 3420 to filter the displayed overlays according to the options selected in screen 3400.

The software application disclosed herein may also be utilized to provide a variety of additional features. For example, the software application may be utilized as an employee's badge, to provide an employee with access to various portions of a building. For example, the user may open a particular feature in the software application that allows the user to scan a code or mobile key into an appropriate reader at a doorway, to gain access to the room through the doorway. Alternatively, the software application may configure client device 110 such that it automatically detects when client device 110 approaches a door to a restricted area and may configured that the client device to automatically transmit a code or mobile key to a reader on the door to gain access to the restricted area. The software application may also be utilized to post notifications to users throughout a building. For example, an administrator may use the software application to push notifications to users regarding building events or emergencies. The software application may also include features for concierge services that allows a user to schedule things like dry cleaning or to request cab service.

FIG. 35 is a block diagram illustrating an example computer system 3500 that may be used for implementing embodiments consistent with the present disclosure, including the example systems and methods described herein. Computer system 3500 may include one or more computing devices 3510. Computer system 3500 may be used to implement client device(s) 110, server(s) 190, beacon(s) 120, and/or sensor(s) 130. The arrangement and number of components in computer system 3500 is provided only for purposes of illustration. Additional arrangements, number of components, or other modifications may be made, consistent with the present disclosure.

As shown in FIG. 35, a computing device 3510 may include one or more processors 3520 for executing instructions. Processors suitable for the execution of instructions include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. A computing device 3510 may also include one or more input/output (I/O) devices 3530. By way of example, I/O devices 3530 may include keys, buttons, mice, joysticks, styluses, gesture sensors (e.g., video cameras), motion sensors (e.g, infrared sensors, ultrasound sensors), voice sensors (e.g., microphones), etc. Keys and/or buttons may be physical and/or virtual (e.g., provided on a touch screen interface).

A computing device 3510 may include one or more storage devices configured to store data and/or software instructions used by processor(s) 3520 to perform operations consistent with the disclosed embodiments. For example, a computing device 3510 may include main memory 3540 configured to store one or more software programs that, when executed by processor(s) 3520, cause processor(s) 3520 to perform functions or operations consistent with disclosed embodiments. By way of example, main memory 3540 may include NOR or NAND flash memory devices, read only memory (ROM) devices, random access memory (RAM) devices, etc. A computing device 3510 may also include one or more storage medium(s) 3550. By way of example, storage medium(s) 3550 may include hard drives, solid state drives, tape drives, redundant array of independent disks (RAID) arrays, etc. Although FIG. 35 illustrates only one main memory 3540 and one storage medium 3550, a computing device 3510 may include any number of main memories 3540 and storage mediums 3550. Further, although FIG. 35 illustrates main memory 3540 and storage medium 3550 as part of computing device 3510, main memory 3540 and/or storage medium 3550 may be located remotely and computing device 3510 may be able to access main memory 3540 and/or storage medium 3550 via one or more network(s).

Storage medium(s) 3550 may be configured to store data, and may store data received from one or more of server(s) 190, client device(s) 110, beacon(s) 120, and/or sensor(s) 130. The data may take or represent various content or information forms, such as documents, presentations, textual content, graphical content, mapping information, geographic information, directory information, polling information, user profile information, software applications, event information, scheduled meeting information, personnel information, calendar information, room status information, room booking information, and any other type of information and/or content in which user may be interested, or any combination thereof. The data may further include other data received, stored, and/or inferred by computer system 3500, such as data regarding locations of client device(s) 110, data regarding locations of beacon(s) 120, data regarding locations of sensor(s) 130, identities of client device(s) 110, identities of beacon(s) 120, identities of sensor(s) 130, content items displayed at client device(s) 110, content items provided to client device(s) 110, histories of user interaction with the software application, user preference information, space occupancy status information, space booking status information, building issue information, and/or any other data used for carrying out embodiments of the present disclosure.

A computing device 3510 may also include one or more displays (not shown). Display(s) may be implemented using one or more display panels, which may include, for example, one or more cathode ray tube (CRT) displays, liquid crystal displays (LCDs), plasma displays, light emitting diode (LED) displays, organic light emitting diode (OLED) displays, touch screen type displays, projector displays (e.g., images projected on a screen or surface, holographic images, etc.), field emission displays (FEDs), active matrix displays, vacuum fluorescent (VFR) displays, 3-dimensional (3-D) displays, electronic paper (e-ink) displays, microdisplays, or any combination of the above types of displays.

A computing device 3510 may further include one or more communications interfaces 3560. Communication interface(s) 3560 may allow content, software, data, messages, and/or other information to be transferred between server(s) 190, client device(s) 110, beacon(s) 120, and/or sensor(s) 130. Examples of communication interface(s) 3560 may include modems, network interface cards (e.g., an Ethernet card), communications ports, personal computer memory card international association (PCMCIA) slots and card, antennas, etc. Communication interface(s) 3560 may transfer software, content, data, messages, or other information in the form of signals, which may be electronic, electromagnetic, optical, and/or other types of signals. The signals may be provided to/from communications interface 3560 via a communication path (e.g., Bluetooth network, Wi-Fi network, network(s) 180), which may be implemented using wired, wireless, cable, fiber optic, radio frequency (RF), and/or other communication channels.

A computer system 3500 may continue additional or fewer components depending on whether the computer system is a client device 110, beacon 120, sensor 130, or server 190. For example, a client device 110 may also include one or more accelerometers or gyroscopes, which can be utilized for assisting with navigation and locating features of the present disclosure. A client device 110, beacon 120, and/or sensor 130 may also include a battery, such that these devices are capable of operating without having to be plugged into a wall outlet. A sensor 130 may include additional hardware components for sensing motion, temperature, humidity, lighting, or other environmental factors.

The subject matter disclosed herein can be implemented in digital electronic circuitry, or in computer software, firmware, or hardware, including the structural means disclosed in this specification and structural equivalents thereof, or in combination of them. The subject matter described herein can be implemented as one or more computer program products, such as one or more computer programs tangibly embodied in an information carrier (e.g., in a machine readable storage device), or embodied in a propagated signal, for execution by, or to control the operation of, data processing apparatus (e.g., a programmable processor, a computer, or multiple computers). A computer program (also known as a program, software, software application, or code) can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program does not necessarily correspond to a file. A program can be stored in a portion of a file that holds other programs or data, in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub programs, or portions of code). A computer program can be deployed to be executed on one computer or on multiple computers at one site or distributed across multiple sites and interconnected by a communication network.

The processes and logic flows described in this specification, including the method steps of the subject matter described herein, can be performed by one or more programmable processors executing one or more computer programs to perform functions of the subject matter described herein by operating on input data and generating output. The processes and logic flows can also be performed by, and apparatus of the subject matter described herein can be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit).

Processors suitable for the execution of computer programs include, by way of example, both general and special purpose microprocessors, and any one or more processor of any kind of digital computer. Generally, a processor will receive instructions and data from a read only memory or a random access memory or both. The essential elements of a computer are a processor for executing instructions and one or more memory devices for storing instructions and data. Generally, certain computers might also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto optical disks, or optical disks. Information carriers suitable for embodying computer program instructions and data include all forms of nonvolatile memory, including by way of example semiconductor memory devices (e.g., EPROM, EEPROM, and flash memory devices), magnetic disks (e.g., internal hard disks or removable disks); magneto optical disks; and optical disks (e.g., CD and DVD disks). The processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry.

To provide for interaction with a user, some subject matter described herein can be implemented on a computer having a display device, e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor, for displaying information to the user, and a keyboard and a pointing device (e.g., a mouse, trackball, touchscreen), by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well. For example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback), and input from the user can be received in any form, including acoustic, speech, or tactile input.

Some subject matter described herein can be implemented in a computing system that includes a back end component (e.g., a data server), a middleware component (e.g., an application server), or a front end component (e.g., a client computer having a graphical user interface or a web browser through which a user can interact with an implementation of the subject matter described herein), or a combination of such back end, middleware, and front end components. The components of the system can be interconnected by any form of medium of digital data communication, e.g., a communication network. Examples of communication networks include a local area network (“LAN”) and a wide area network (“WAN”), e.g., the Internet.

It is to be understood that the disclosed subject matter is not limited in its application to the details of construction and to the arrangements of the components set forth in the foregoing description or illustrated in the drawings. The disclosed subject matter is capable of other embodiments and of being practiced and carried out in various ways. Also, it is to be understood that the phraseology and terminology employed herein are for the purpose of description and should not be regarded as limiting.

As such, those skilled in the art will appreciate that the conception, upon which this disclosure is based, may readily be utilized as a basis for the designing of other structures, methods, and systems for carrying out the several purposes of the disclosed subject matter. It is important, therefore, that the claims be regarded as including such equivalent constructions insofar as they do not depart from the spirit and scope of the disclosed subject matter.

Although the disclosed subject matter has been described and illustrated in the foregoing exemplary embodiments, it is understood that the present disclosure has been made only by way of example, and that numerous changes in the details of implementation of the disclosed subject matter may be made without departing from the spirit and scope of the disclosed subject matter, which is limited only by the claims which follow. 

1. A computer-implemented method for providing information about building spaces, the method comprising: receiving, by a computing system comprising one or more processors, an indication of whether a space is occupied from a sensor within the space; determining, by the computing system, a location of a client device based on a signal received from the client device indicating a proximity of the client device to one or more wireless beacons; receiving, by the computing system, a request from the client device for directions between the client device and the space; determining, by the computing system, a route between the client device and the space; and providing, by the computing system, information for displaying at least a portion of the route on a map of at least a portion of a floor of a facility housing the space, such that the at least a portion of the route is displayed on the map on a screen of the client device.
 2. The method of claim 1, wherein the information for displaying the at least a portion of the route includes information that causes the client device to display the at least a portion of the route as a line between the location of the client device and the space.
 3. The method of claim 2, wherein the location of the client device is a first location, and the signal is a first signal, further comprising: determining, by the computing system, a second location of the client device based on a second signal received from the client device indicating a proximity of the client device to one or more additional wireless beacons; and providing, by the computing system, information for displaying an updated position of the client device and an updated route based on the second location.
 4. The method of claim 3, further comprising providing, by the computing system, information that causes the screen of the client device to display instructions to turn right or turn left after moving a certain distance.
 5. The method of claim 1, further comprising: receiving, by the computing system, indications of whether a plurality of spaces are occupied from sensors located within the spaces; and providing, by the computing system, information for displaying representations of the spaces on the map on the screen of the client device, and for displaying the representations of each of the spaces in a color based on the occupancy of the space.
 6. The method of claim 5, further comprising: receiving, by the computing system, a request to filter the spaces based on a type of activity; identifying, by the computing system, one or more of the spaces as suitable for the type of activity; and providing, by the computing system, information for displaying the colors for only the one or more spaces identified as suitable for the type of activity.
 7. The method of claim 5, further comprising: receiving, by the computing system, a request to filter the spaces based on a tool; identifying, by the computing system, one or more of the spaces as having the tool; and providing, by the computing system, information for displaying the colors for only the one or more spaces identified as having the tool.
 8. The method of claim 1, further comprising: identifying, by the computing system, a user associated with the client device; identifying, by the computing system, one or more preferences associated with the user; and providing, by the computing system, information for configuring the space according to the one or more preferences.
 9. The method of claim 8, wherein the one or more preferences includes a preference associated with an environmental aspect, the environmental aspect being one of a temperature, humidity level, or brightness, and the information for configuring the space including an instruction to a sensor for controlling the environmental aspect of the space.
 10. The method of claim 8, wherein the one or more preferences includes a preference associated with a tool, the tool being one of a phone, audiovisual equipment, projector, or computing device, and the information for configuring the space including an instruction to a device associated with an employee or vendor for configuring the space to include the tool.
 11. The method of claim 8, wherein the one or more preferences includes a preference associated with a catering aspect, and the information for configuring the space including an instruction to a device associated with an employee or vendor to deliver food or beverage to the space in accordance with the catering aspect.
 12. The method of claim 8, wherein the one or more preferences are updated over time using a machine learning algorithm based on selections made by the user.
 13. A system for providing information about building spaces, the system comprising: one or more memory devices storing instructions; and one or more processors that, when executing the instructions, are configured to: receive an indication of whether a space is occupied from a sensor within the space; determine a location of a client device based on a signal received from the client device indicating a proximity of the client device to one or more wireless beacons; receive a request from the client device for directions between the client device and the space; determine a route between the client device and the space; provide information for displaying at least a portion of the route on a map of at least a portion of a floor of a facility housing the space, such that the at least a portion of the route is displayed on the map on a screen of the client device.
 14. The system of claim 13, wherein the information for displaying the at least a portion of the route includes information that causes the client device to display the at least a portion of the route as a line between the location of the client device and the space.
 15. The system of claim 13, wherein the location of the client device is a first location, and the signal is a first signal, the one or more processors being further configured to: determine a second location of the client device based on a second signal received from the client device indicating a proximity of the client device to one or more additional wireless beacons; and provide information for displaying the updated position of the client device and an updated route based on the second location.
 16. The system of claim 13, the one or more processors being further configured to provide information that causes the screen of the client device to display instructions to turn right or turn left after moving a certain distance.
 17. The system of claim 13, the one or more processors being further configured to: receive indications of whether a plurality of spaces are occupied from sensors located within the spaces; and provide information for displaying representations of the spaces on the map on the screen of the client device, and for displaying the representations of each of the spaces in a color based on the occupancy of the space.
 18. The system of claim 13, the one or more processors being further configured to: identify a user associated with the client device; identify one or more preferences associated with the user; and provide information for configuring the space according to the one or more preferences.
 19. The system of claim 18, the one or more preferences including a preference associated with an environmental aspect, the environmental aspect being one of a temperature, humidity level, or brightness, and the information for configuring the space including an instruction to a sensor for controlling the environmental aspect of the space.
 20. A computer-implemented method for receiving information about building spaces, the method comprising: receiving, by a processor in a device, information about one or more wireless beacons located in proximity to the device; providing, by the processor, the information to a computing system; providing, by the processor, a request for directions to a space; receiving, by the processor, information for displaying at least a portion of a route between a location of the device and a location of the space on a map of at least a portion of a floor of a facility housing the space; and causing, by the processor, the at least a portion of the route to be displayed on the map on a screen of the device. 